該文章很有用建議收藏
我們在Windows下開發python應用時,可能需要安裝各種第三方模塊,但如果又不想污染公共的python環境,怎么辦呢?最好是在各自的 python工程中創建一個virtualenv虛擬環境。博主最近需要在虛擬環境中安裝MySQL-python模塊,這個模塊如果采用pip命令行的 方式安裝的話,很有可能會遇到蛋疼的提示各種缺少微軟某些動態鏈接庫的問題,這個模塊的安裝,除了命令行方式外,另外一種方式是下載exe文件進行安裝, 但在虛擬環境中又不能這樣裝。於是,我就想,采用exe方式安裝的話,到底在python安裝目錄的Lib\site-packages目錄下生成了哪些 文件呢?我把這些文件拷貝到虛擬環境相應目錄,是否可以達到在虛擬環境安裝mysql的目的呢?一試果然可以。現在把從創建virtualenv到安裝 mysqldb的過程簡述一下。
一、在工程目錄下創建虛機環境
在windows命令行進入工程根目錄,然后執行以下命令:
D:\pythonWorkspace\testENV>virtualenv venv
New python executable in venv\Scripts\python.exe
Installing setuptools, pip, wheel...done.
D:\pythonWorkspace\testENV>
這時虛擬環境就安裝好了,可以看到我們的工程目錄下出現了一個venv文件夾(venv就是我們的虛擬環境的名字,可以隨便起)。
注意,默認情況下,虛擬環境會依賴系統環境中的site packages,就是說系統中已經安裝好的第三方package也會安裝在虛擬環境中,如果不想依賴這些package,那么可以加上參數 --no-site-packages建立虛擬環境:
D:\pythonWorkspace\testENV>virtualenv --no-site-packages [虛擬環境目錄]
后記:虛擬環境創建后,只有開啟后,才能把包安裝到虛擬環境中。那么怎樣啟動虛擬環境呢?windows環境下,可以直接在cmd命令行運行虛擬環 境目錄下的/Scripts/activate.bat程序,Linux環境下可以在虛擬環境目錄下使用source命令,例如:#source ./bin/activate來進行啟動。
二、在虛擬環境安裝MySQL-python
虛擬環境創建后,我們把已經在公共環境使用exe安裝好的mysql涉及到的四個文件復制到虛擬環境對應目錄(copy到虛擬環境下的site-packages文件夾下即可):
MySQL_python-1.2.3-py2.7.egg-info
MySQLdb
_mysql.pyd
_mysql_exceptions.py
然后我們檢查下有沒有安裝好:
import MySQLdb
發現不報錯了,就代表安裝好了。
MySQLdb模塊的exe文件下載版本(MySQL-python-1.2.3.win-amd64-py2.7.exe)