人类的孤独像是一种与生俱来的残疾。

pip在双Python环境下的各种问题汇总

Python/Shell smallfish 2296℃

Ubuntu上安装目前最新版本python3.6.2出现的各种问题,这里简单汇总一下,以作记录。

由于喜欢尝新,有句话说最新的python就是最好的,所以也安装上了。但由于Ubuntu12.04自带python2.7,原以为可以简单make &make install就万事大吉了。然而为了安装paramiko包折腾了两天。这里记录一下。

1、安装python3.6.2。

官网下载源码压缩包然而解压。这就不用说了。

在make之前先确认安装以下三个依赖:pyhton3-dev  libffi-dev  libssl-dev。否则可能出现pip无法安装,pip3使用ssl,但python的ssl未启用等错误。因此先装上libssl-dev。

./configure  --enable-optimizations   使用此配置会打开ssl,且会进行测试,所以会慢一些。

然后是make -j8 (此参数在多核机上可加快编译),再make altinstall。

2、入坑

一般我们安装完就直接把bin拷到/usr/bin目录下去,或者做个软链接。大不了再改个环境,然鹅...Too young too simple。随之而来一大堆的问题。这里也没有更好的办法,只是解决方法之一吧。主要也是做软连接。

首先生成python3的环境。这里必须使用make出来的python版本来生成,而不能直接python -m venv python3env。

例如你将此环境生成到/usr/bin/目录下:

#假设你已经在编译出来的python的路径下。
~# sudo ./python -m venv /usr/bin/python36env
#此时会在/usr/bin目录下生成python36env目录
#再将此目录下的/bin/python3 以及pip3连接到/usr/bin目录下
~# sudo ln -s /usr/bin/python36env/bin/python /usr/bin/python3
#这样我们就可以通过使用Python3来调用python3.6.2了,实际上pyhton36env/bin/python是链接到了源码包目录下的python,这才是真正的执行程序所在目录。
#同理,
~# sudo ln -s /usr/bin/python36env/bin/pip3 /usr/bin/pip3
#这样就可以直接使用pip3来安装了。

 

转载请注明:OpenMind » pip在双Python环境下的各种问题汇总

喜欢 (0)