由於開發環境要求,或者實際需要。經常會出現python2.7和python3.x共存下的開發環境問題。虛擬環境的搭建可以很好的隔離Projects的開發環境。 1.首先解決python2.7和python3.x的pip問題 由於py2和py3版本都是使用的pip,然而我們在安裝Python3(>=3 ...
由於開發環境要求,或者實際需要。經常會出現python2.7和python3.x共存下的開發環境問題。虛擬環境的搭建可以很好的隔離Projects的開發環境。
1.首先解決python2.7和python3.x的pip問題
由於py2和py3版本都是使用的pip,然而我們在安裝Python3(>=3.3)時,Python的安裝包實際上在系統中安裝了一個啟動器py.exe,預設放置在文件夾C:\Windows\下麵。這個啟動器允許我們指定使用Python2還是Python3來運行代碼(當然前提是你已經成功安裝了Python2和Python3)。
如果你有一個Python文件叫 hello.py,那麼你可以在命令行這樣用Python2運行它
py -2 hello.py
類似的,如果你想用Python3運行它,就這樣
py -3 hello.py
或者在代碼文件的最開始加入一行
#! python2; #! python3
這樣,運行的時候你的命令就可以簡化為
py hello.py
使用pip
由於Py2和Py3它們對應的pip都叫pip.exe,所以不能夠直接使用 pip install 命令來安裝軟體包。而是要使用啟動器py.exe來指定pip的版本。命令如下:
py -2 -m pip install XXXX
-2 還是表示使用 Python2,-m pip 表示運行 pip 模塊,也就是運行pip命令了。Python3版本:
py -3 -m pip install XXXX
2.安裝,激活,退出虛擬環境
虛擬環境在cmd下的安裝主要有兩種方法:
(1) virtualenv
win+R,輸入cmd,
>>>pip install virtualenv (2,3版本共存選擇如上命令行安裝)
(ps:安裝過程中出現報錯: ReadTimeoutError: HTTPSConnectionPool(host='pypi.python.org, port=443) Read time out :,可以通過文章末尾提供的方法解決。)
安裝完成後創建虛擬環境:virtualenv env,預設安裝在C:\Users\user_name\目錄下
激活虛擬環境:命令行下,
>>>cd env_name\Scripts
>>>C:\Users\user_name\env27\Scripts\ activate.bat
出現(env27) C:\Users\wj_19\env27\Scripts>即表示進入虛擬環境
退出虛擬環境:同樣在Scripts目錄下,執行deactivate.bat即可退出
(2)virtualenvwrapper-win(Linux環境下virtualenvwrapper)
win+R,cmd
>>>pip install virtualenvwrapper-win (版本自選)
安裝完成後接下來就是相同的創建,激活等操作了
創建虛擬環境:與virtualenv不同的是,virtualenvwrapper會自動將創建的env放在同一文件下,如創建一個叫py27.1的虛擬環境
>>>mkvirtualenv env27.1
初次創建時,virtualenvwrapper會在當前盤根目錄下自動建立一個虛擬環境的文件夾,然後將新建的env27.1存進去。
創建結果和文件夾內容如圖:
輸入workon顯示該目錄下所有虛擬環境,可以選擇不同的虛擬環境進行工作,即激活虛擬環境:
>>>workon py27.0
當我們需要導入第三方的包(packages)時,在該虛擬環境下(一定要先激活使用的虛擬環境)比如導入requests:
>>>pip install requests
反之卸載:
>>>pip uninstall requests
結束後退出虛擬環境:
>>>deactivate
這是末尾:
解決pip install vitualenv/virtualwrapper報錯的問題:
我們在使用pip安裝virtualenv,scrapy等模塊報錯 :ReadTimeoutError: HTTPSConnectionPool(host='pypi.python.org, port=443) Read time out :
可以隨便新建一個文件,重命名為.py文件,複製下麵代碼到這個文件,然後在命令行運行。
1 import os 2 3 ini="""[global] 4 index-url = https://pypi.doubanio.com/simple/ 5 [install] 6 trusted-host=pypi.doubanio.com 7 """ 8 pippath=os.environ["USERPROFILE"]+"\\pip\\" 9 10 if not os.path.exists(pippath): 11 os.mkdir(pippath) 12 13 with open(pippath+"pip.ini","w+") as f: 14 f.write(ini)
運行完後再重新試下
>>>pip install virtualenv
>>>pip install virtualenvwrapper-win
完全ojbk。
最後獻上解決方法的出處,供更多瞭解
出處:https://segmentfault.com/q/1010000000496093
答主:FGFW