當安裝了多個版本的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
又解決了一個問題。