ubt14.04+py3.7.0+openssl-1.1.1-pre8+pyinstaller3.6

目的:进行py37项目二进制发布

系统:Ubuntu14.04

python :python3.7.0(因为Ubuntu14.04最高支持到3.7.0)

openssl:openssl-1.1.1-pre8(因为python3.7.X的ssl\_ssl模块最少需要openssl1.0.2)

1.安装编译环境:

sudo apt-get install zlib1g-dev libbz2-dev libssl-dev libncurses5-dev libsqlite3-dev libreadline-dev tk-dev libgdbm-dev libdb-dev libpcap-dev xz-utils libexpat1-dev liblzma-dev libffi-dev libc6-dev

2.安装openssl:

下载openssl-1.1.1-pre8

地址:https://www.openssl.org/source/openssl-1.1.1-pre8.tar.gz

进入 /home/ubuntu/

解压缩:tar -zxvf openssl-1.1.1-pre8.tar.gz 后 cd openssl-1.1.1-pre8

配置:./config --prefix=/usr/local/openssl shared zlib

编辑和安装:make && make install

配置共享库:echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/openssl/lib' >> ~/.bash_profile

source ~/.bash_profile

检验:应该有 /usr/bin/openssl对应/usr/local/openssl/bin/openssl 使用命令openssl version可检测

3.安装python3.7.0:

下载python3.7.0:

地址:https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz

mkdir /usr/local/python3 如果存在则先删除再创建

进入 /home/ubuntu/

解压缩:tar -zxvf Python-3.7.0.tgz 后 cd Python-3.7.0

配置:./configure prefix=/usr/local/python3 --with-openssl=/usr/local/openssl --enable-shared  --enable-optimizations

编辑和安装:make && make install

配置python3环境变量:

echo 'export PYTHON_HOME=/usr/local/python3 export PATH=$PYTHON_HOME/bin:$PATH' >> ~/.bash_profile

source ~/.bash_profile

创建/usr/bin/下的同步链接:

rm -rf /usr/bin/python3

rm -rf /usr/bin/pip3

ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3

ln -s /usr/local/python3/bin/pip3.7 /usr/bin/pip3

验证版本和ssl模块:

python3 -V 应该出现 3.7.0

python3进入后 import ssl和import _ssl不会报错

源码安装完python3.7后要 防止python3.7: error while loading shared libraries: libpython3.7m.so.1.0: cannot open shared object file: No such file or directory

cd /etc/ld.so.conf.d

vim python3.conf #添加/usr/local/python3/lib到文件中

ldconfig #执行ldconfig命令,使修改生效

源码安装完 后卸载自带pip python3 -m pip uninstall pip;去阿里云下载pip-19.0.3.tar.gz python3 setup.py install安装

4.pip源地址改阿里:

ubuntu14.04:vi ~/.pip/pip.conf

widnows:直接在user目录中创建一个pip目录,如:C:\Users\xx\pip,新建文件pip.ini,内容如下:

5.pip安装软件

pip3 install pyinstaller 后查看版本 pyinstaller -v 应该是3.6;若pip报错subprocess.CalledProcessError: Command '('lsb_release', '-a')' returned non-zero exit status 1 

解决方法:

find / -name lsb_release

rm -rf /usr/bin/lsb_release

使用pip3 install -r requirements.txt批量安装

其内容:

aiohttp_cors==0.7.0

attrs==19.1.0

altgraph==0.17

amqp==2.5.2

aiohttp==3.5.4

apply-defaults==0.1.4

async_timeout==3.0.1

billiard==3.6.3.0

celery==4.4.2

cycler==0.10.0

chardet==3.0.4

captcha==0.3

future==0.18.2

grpcio==1.26.0

grpcio-tools==1.26.0

importlib-metadata==1.5.0

jsonrpcclient==3.3.5

jsonrpcserver==4.1.2

jsonschema==3.2.0

kiwisolver==1.1.0

kombu==4.6.8

matplotlib==3.2.0rc1

numpy==1.16.4

multidict==4.5.2

opencv-python==4.1.1.26

pefile==2019.4.18

Pillow==5.4.1

protobuf==3.11.1

importlib_metadata==1.5.0

idna==2.8

pycryptodome==3.8.2

PyInstaller==3.6

PyMySQL==0.9.3

pyparsing==2.4.5

pyrsistent==0.9.4

python-dateutil==2.8.1

pytz==2019.3

redis==3.4.1

requests==2.9.2

six==1.13.0

SQLAlchemy==1.3.10

vine==1.3.0

xmltodict==0.12.0

yarl==1.3.0

zipp==3.1.0

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容