Skip to content

Commit 6955dc2

Browse files
authored
Update the build scripts to make the process easier. (#361)
1 parent e4018d1 commit 6955dc2

File tree

2 files changed

+74
-11
lines changed

2 files changed

+74
-11
lines changed

docs/release/build.sh

Lines changed: 48 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,69 @@
11
#!/bin/bash
22

3+
# Please execute this script from VisualDL root folder
4+
35
PYTHON_FLAGS=""
46
if [ "$1" != "" ]; then
57
echo "using python abi: $1"
68
if [ "$1" == "cp27-cp27m" ]; then
9+
PYTHON_EXECUTABLE=/opt/python/cp27-cp27m/bin/python
10+
PIP_EXECUTABLE=/opt/python/cp27-cp27m/bin/pip
711
export LD_LIBRARY_PATH=/opt/_internal/cpython-2.7.11-ucs2/lib:${LD_LIBRARY_PATH#/opt/_internal/cpython-2.7.11-ucs4/lib:}
812
export PATH=/opt/python/cp27-cp27m/bin/:${PATH}
913
export PYTHON_FLAGS="-DPYTHON_EXECUTABLE:FILEPATH=/opt/python/cp27-cp27m/bin/python
10-
-DPYTHON_INCLUDE_DIR:PATH=/opt/python/cp27-cp27m/include/python2.7
11-
-DPYTHON_LIBRARIES:FILEPATH=/opt/_internal/cpython-2.7.11-ucs2/lib/libpython2.7.so"
14+
-DPYTHON_INCLUDE_DIR:PATH=/opt/python/cp27-cp27m/include/python2.7
15+
-DPYTHON_LIBRARIES:FILEPATH=/opt/_internal/cpython-2.7.11-ucs2/lib/libpython2.7.so"
1216
elif [ "$1" == "cp27-cp27mu" ]; then
17+
PYTHON_EXECUTABLE=/opt/python/cp27-cp27mu/bin/python
18+
PIP_EXECUTABLE=/opt/python/cp27-cp27mu/bin/pip
1319
export LD_LIBRARY_PATH=/opt/_internal/cpython-2.7.11-ucs4/lib:${LD_LIBRARY_PATH#/opt/_internal/cpython-2.7.11-ucs2/lib:}
1420
export PATH=/opt/python/cp27-cp27mu/bin/:${PATH}
1521
export PYTHON_FLAGS="-DPYTHON_EXECUTABLE:FILEPATH=/opt/python/cp27-cp27mu/bin/python
16-
-DPYTHON_INCLUDE_DIR:PATH=/opt/python/cp27-cp27mu/include/python2.7
17-
-DPYTHON_LIBRARIES:FILEPATH=/opt/_internal/cpython-2.7.11-ucs4/lib/libpython2.7.so"
22+
-DPYTHON_INCLUDE_DIR:PATH=/opt/python/cp27-cp27mu/include/python2.7
23+
-DPYTHON_LIBRARIES:FILEPATH=/opt/_internal/cpython-2.7.11-ucs4/lib/libpython2.7.so"
24+
# elif [ "$1" == "cp35-cp35m" ]; then
25+
# export LD_LIBRARY_PATH=/opt/_internal/cpython-3.5.1/lib:${LD_LIBRARY_PATH#/opt/_internal/cpython-3.5.1/lib:}
26+
# export PATH=/opt/python/cp35-cp35m/bin/:${PATH}
27+
# export PYTHON_FLAGS="-DPYTHON_EXECUTABLE:FILEPATH=/opt/python/cp35-cp35m/bin/python
28+
# -DPYTHON_INCLUDE_DIR:PATH=/opt/python/cp35-cp35m/include/python3.5m
29+
# -DPYTHON_LIBRARIES:FILEPATH=/opt/_internal/cpython-3.5.1/lib/libpython3.so"
30+
elif [ "$1" == "cp34-cp34m" ]; then
31+
PYTHON_EXECUTABLE=/usr/bin/python3.4
32+
PIP_EXECUTABLE=/usr/bin/pip3.4
33+
export LD_LIBRARY_PATH=/usr/lib64:${LD_LIBRARY_PATH}
34+
export PYTHON_FLAGS="-DPYTHON_EXECUTABLE:FILEPATH=/usr/bin/python3.4
35+
-DPYTHON_INCLUDE_DIR:PATH=/usr/include/python3.4m
36+
-DPYTHON_LIBRARIES:FILEPATH=/usr/lib64/libpython3.4m.so"
1837
elif [ "$1" == "cp35-cp35m" ]; then
19-
export LD_LIBRARY_PATH=/opt/_internal/cpython-3.5.1/lib:${LD_LIBRARY_PATH#/opt/_internal/cpython-3.5.1/lib:}
20-
export PATH=/opt/python/cp35-cp35m/bin/:${PATH}
21-
export PYTHON_FLAGS="-DPYTHON_EXECUTABLE:FILEPATH=/opt/python/cp35-cp35m/bin/python
22-
-DPYTHON_INCLUDE_DIR:PATH=/opt/python/cp35-cp35m/include/python3.5m
23-
-DPYTHON_LIBRARIES:FILEPATH=/opt/_internal/cpython-3.5.1/lib/libpython3.so"
38+
PYTHON_EXECUTABLE=/usr/bin/python3.5
39+
PIP_EXECUTABLE=/usr/bin/pip3.5
40+
export LD_LIBRARY_PATH=/usr/lib64:${LD_LIBRARY_PATH}
41+
export PYTHON_FLAGS="-DPYTHON_EXECUTABLE:FILEPATH=/usr/bin/python3.5
42+
-DPYTHON_INCLUDE_DIR:PATH=/usr/include/python3.5m
43+
-DPYTHON_LIBRARIES:FILEPATH=/usr/lib64/libpython3.5m.so"
44+
elif [ "$1" == "cp36-cp36m" ]; then
45+
PYTHON_EXECUTABLE=/usr/bin/python3.6
46+
PIP_EXECUTABLE=/usr/bin/pip3.6
47+
export LD_LIBRARY_PATH=/usr/lib64:${LD_LIBRARY_PATH}
48+
export PYTHON_FLAGS="-DPYTHON_EXECUTABLE:FILEPATH=/usr/bin/python3.6
49+
-DPYTHON_INCLUDE_DIR:PATH=/usr/include/python3.6m
50+
-DPYTHON_LIBRARIES:FILEPATH=/usr/lib64/libpython3.6m.so"
2451
fi
52+
else
53+
echo "Please specify an environment. {cp27-cp27m, cp27-cp27mu, cp34-cp34m, cp35-cp35m, cp36-cp36m}"
54+
exit
55+
fi
56+
57+
if [ "$PYTHON_EXECUTABLE" == "" ]; then
58+
echo "Incorrect python environment. "
59+
echo "Please choose from {cp27-cp27m, cp27-cp27mu, cp34-cp34m, cp35-cp35m, cp36-cp36m}"
60+
exit
2561
fi
2662

2763
echo $LD_LIBRARY_PATH
2864
echo $PATH
2965
echo $PYTHON_FLAGS
3066

31-
python setup.py bdist_wheel
67+
$PIP_EXECUTABLE install wheel
68+
$PIP_EXECUTABLE install -r requirements.txt
69+
$PYTHON_EXECUTABLE setup.py bdist_wheel

docs/release/build_manylinux.md

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,32 @@ The whole build step can be:
1212
docker run -it paddlepaddle/paddle_manylinux_devel:cuda8.0_cudnn5 /bin/bash
1313
```
1414

15-
1. Get the VisualDL code and run build.sh. It will generate a whl file like `visualdl-0.0.2a0-cp27-cp27m(u)-linux_x86_64.whl`
15+
1. Paddle doesn't support python 3 yet. Therefore, we must setup the python3 environment first.
16+
```
17+
yum install https://centos6.iuscommunity.org/ius-release.rpm
18+
19+
yum -y install python36u
20+
yum -y install python36u-pip
21+
yum -y install python36u-devel
22+
23+
yum -y install python35u
24+
yum -y install python35u-pip
25+
yum -y install python35u-devel
26+
27+
yum -y install python34u
28+
yum -y install python34u-pip
29+
yum -y install python34u-devel
30+
```
31+
32+
1. Next, we need to setup Node.js so we can build the frontend code.
33+
```
34+
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash
35+
export NVM_DIR="$HOME/.nvm"
36+
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
37+
nvm install node
38+
```
39+
40+
1. Get the VisualDL code and run docs/release/build.sh. It will generate a whl file like `visualdl-0.0.2a0-cp27-cp27m(u)-linux_x86_64.whl`
1641
1742
1. The `linux` above should be renamed to `manylinux1`
1843

0 commit comments

Comments
 (0)