因为难以抗拒的原因,我需要做一个python脚本,这个脚本需要在某国企的环境中运行。虽然现在已经是2021年尾声,这个运行环境依然固执地只提供python2。为了能和环境对接,我需要在我的机器上建一个python2的环境。现在做一个笔记,其中有的基操步骤只简单 提一下,我如果已经看不懂,也表示我自己要退环境了。
- 下载一个python2的源代码tar-ball。(我用的是2.7.18——2系列End of Life的最终绝响,将来无论有多么严重的bug被发现,多么血腥的安全漏洞,都不会再获得升级了。)临时找个目录把它解压。
- 把什么gcc,make,zlib,openssl,libssl-dev……等dev需要的东西能装的都装了。对于ubuntu,zlib这样搞
sudo apt-get install zlib1g-dev
如果需要代理,简单的直接用命令行临时配置export代理:
export https_proxy=http://10.144.1.10:8080
export http_proxy=http://10.144.1.10:8080
openssl可以下载新的源代码安装
tar zxvf openssl-1.1.1l.tar.gz
cd openssl-1.1.1l
./config -fPIC //configuration:create path independent libssl.a
make && make install
编辑/etc/ld.so.conf.d/libc.conf
,加入一行/usr/lib
,退出存盘。
执行ldconfig
- 进入python2.7.18的临时目录,找到Modules/Setup.dist,然后把下面关于SSL的注释符号去掉,像下面这个样子:
# Socket module helper for SSL support; you must comment out the other
# socket line above, and possibly edit the SSL variable:
SSL=/usr/local/ssl
_ssl _ssl.c \
-DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
-L$(SSL)/lib -lssl -lcrypto
- 编译,和安装。如果不想和python3掐架,make install就不要用了。
./configure --enable-optimizations --with-zlib --with-ssl
make
make altinstall
默认情况下,它出现了:/usr/local/bin/python2.7
- 使用virtualenv 设置虚拟环境:
virtual -p /usr/local/bin/python2.7 venv
source venv/bin/activate
- 用pip安装需要的模块,例如:
pip install eventlet -i http://mirrors.aliyun.com/pypi/simple/ --proxy http://10.144.1.10:8080 --trusted-host mirrors.aliyun.com
-
试试看OK了没有。
-
如果python2环境下的出了毛病,可以尝试重装(如果需要代理,就配上):
source venv/bin/activate
curl https://bootstrap.pypa.io/pip/2.7/get-pip.py -o get-pip.py
python get-pip.py --force-reinstall
网友评论