在python開發環境中經常會遇到一個運行環境相互兼容的問題,好比說各個項目之間依賴的包版本不一樣,以及python版本不一樣而出現沒法正常運行的狀況。。這個時候咱們就要隔離每一個項目的運行環境,讓每一個項目都有一個獨立的python環境和包的庫。python
這個時候咱們就能夠用到pipenv這個神器了。shell
首先安裝windows
pip3 install pipenv
cd命令進入到一個項目目錄下後,指定這個項目使用的python版本使用pipenv --python 3.7ui
ChrisChous-MacBook-Air:chrischou_blog ChrisChou$ pipenv --python 3.7 Creating a virtualenv for this project... Pipfile: /Users/ChrisChou/Public/my_documents/chrischou_blog/Pipfile Using /Library/Frameworks/Python.framework/Versions/3.7/bin/python3.7m (3.7.0) to create virtualenv..
這個時候pipenv會在你的我的文件夾下面建立一個獨立的項目運行環境。具體環境包的位置Linux和mac os在/Users/UserName/.local/share/virtualenvs下面。windows沒有試過,不過能夠執行pipenv --venv來查看你的項目依賴的獨立環境安裝位置。this
而後確保你的項目根目錄下有requirements.txt的包依賴列表,具體什麼是requirements.txt自行網上查一下。code
最後執行pipenv shell進入虛擬環境blog
而後執行pipenv install後pipenv就會遍歷requirements.txt文件中所須要的包以及相應的版本號,這個時候就會生成Pipfile裏面會記錄安裝好的包以及對應的版本號,以及相應的會生成一個Pipfile.lock來記錄每一個包安裝後的哈希值來確保線上下載下來的包沒有被篡改。ip
接下來大功告成,這個時候你在pipenv虛擬環境命令端下你執行python就會運行你指定的python版本。而後你再這個環境下就能夠執行你的項目了,不信exit退出虛擬環境,執行項目你會發現你在虛擬環境中安裝的包可是在實際環境中沒有安裝的包會報包不存在的錯誤信息。。開發
之後你啓動項目就能夠在這個獨立的沙盒環境中執行了,不回影響其餘的項目,也不用擔憂包版本混亂的問題了。。簡直神器。rem
!對了你要是須要在虛擬環境中安裝新的包,執行pipenv install package_name 就能夠了,pipenv會自行將你的新包添加至Pipfile中以及Pipfile.lock中