https://zhuanlan.zhihu.com/p/93024522
Centos7只有自带的Python2.7,所以要手动安装一下Python3。为了方便后续的Tensorflow环境搭建,选择Python3.6.8。同时直接使用yum install方式安装Python3.6可能会和系统自带的Python 2.7冲突所以采用源代码编译安装方式,如果编译时缺少了依赖的库文件,可能会安装成一个不完整的Python环境,且没有错误提示,会导致部分标准Python库无法使用。 步骤如下:
安装编译环境
sudo yum -y groupinstall "Development tools"
sudo yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel
下载python安装包
wget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tar.xz
# 解压包
tar -xvf Python-3.6.8.tar.xz
安装python
# 进入解压目录
cd Python-3.6.8
# 生成MakeFile
sudo ./configure --prefix=/usr/local/python3.6.8 --enable-optimizations --enable-shared
# 安装 使用make atinstall避免替换默认的python执行文件
sudo make altinstall

如果不加enable-shared,编译出来没有so文件,有些python包需要用so文件,因此会导致程序无法启动。
如果通过enable-shared来编译了,但还是说没有发现相应的so文件:
echo "/usr/lib" > /etc/ld.so.conf.d/python3.6.conf
// echo的路径要看你的so文件在哪,一般是在/usr下的python路径
ldconfig
ldd /usr/bin/python3 //查看程序启动需要的so文件 用以检查
设置软连接到/user/bin/文件夹
sudo ln -s /usr/local/python3.6.8/bin/python3.6 /usr/bin/python3
sudo ln -s /usr/local/python3.6.8/bin/pip3.6 /usr/bin/pip3
---------------割---------------后续操作--------------割------------
更新pip
pip3 install --upgrade --user pip setuptools
更改pip源
mkdir ~/.pip
cd ~/.pip
vim pip.conf
写入下面代码,将pip源设置为阿里源
[global]
index-url=http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com
python查看源的版本和安装
查看pip3现在源有的版本:
pip3 install tornado==

选择某个版本进行安装
pip3 install tornado==6.0.4

python3 venv打包
https://docs.python.org/zh-cn/3/tutorial/venv.html
添加、删除环境变量
https://blog.csdn.net/mayue_web/article/details/97023615

对已有的环境变量项增加一项:
conda打包python环境
deactivate base环境的方法

打包环境的方法:
https://blog.csdn.net/shirukai/article/details/108822729
conda create -n env_name python=3.6.8
conda activate env_name
conda pack -n env_name -o env.tar.gz
https://docs.conda.io/en/latest/miniconda.html#linux-installersminiconda的下载链接
注意下载miniconda的时候记得选好版本,不过问题不大,在创建环境的时候,可以指定conda用什么python环境。
逻辑上,就是创建了一个虚拟环境后,并且进入这个环境,在这个状态下执行的所有pip install操作都会记录在这个环境下,然后执行打包,就可以一起把pip下载的打包了。
然后在另一台机器解压这个环境,activate这个环境后,去执行自己的py文件就OK了。

导出依赖库
pip freeze > requirements.txt
pip install -r requirements.txt # 安装依赖
更新包
pip3 install upgrade pkgname [--index-url url --extra-url url2]
[]内可选