当安装了多个版本的Python时,比如一个python2.7,一个python3.5,需要为某个python版本安装库时如何精准的指定python版本呢。网上多数回答都是用到pyenv、virtualenv之类,看了下感觉跟我的预期不一致。因为PyCharm已经可以管理多个版本的Python,进行自如切换。而我需要的是为相应版本的Python安装指定的库。
本文基于Ubuntu1604 LTS,python2.7与python3.5两个版本。
方法步骤:
1、保证2个版本的Python都安装了pip。
首先默认的Python版本大多数安装了pip,如果没有,也很容易通过一条指令安装
sudo apt install python-pip
如何为另一版本python安装pip呢。第一种可以通过源码的方式,下载源码,再用指定的python版本执行安装
python3.5 setup.py install
另外可以从官网下载 get-pip.py,然后执行:
python3.5 get-pip.py
即完成为Python3.5版本安装pip。
2、创建pip3.5
先看下pip文件的内容:
vim /usr/bin/pip
1 #!/usr/bin/python
2 # GENERATED BY DEBIAN
3
4 import sys
5
6 # Run the main entry point, similarly to how setuptools does it, but because
7 # we didn't install the actual entry point from setup.py, don't use the
8 # pkg_resources API.
9 from pip import main
10 if __name__ == '__main__':
11 sys.exit(main())
~
发现亮点没有,在第一行啊。#!/usr/bin/python。记得在修改默认python版本时的做法吗。修改软链接指定另外的Python版本。此处,只需要将python换成python3.5。那这个pip文件就是python3.5专属的pip脚本了啊。是不是很简单就搞定了这个曾经一度困扰的世界性难题。
那么解决方案来了将第一行python改为python3.5,另存为/usr/bin/pip3.5,即可。
当需要为python3.5安装相应的类库时:
pip3.5 install pymongo
又解决了一个问题。