標籤:執行 ima ack 目錄 alt 自己 pid 指定 虛擬
pipenv 是Kenneth Reitz大神的作品,提供Python的各個版本間的管理,各種包管理。個人覺得是virtualenv pip等工具的合體。下面讓我們來看看功能吧。
本文的測試環境是Python3.6,但也支援python2。
1 安裝
首先請確保安裝了python3和對應的pip3。
1 pip3 install pipenv
如下:
2 建立虛擬環境
1 mkdir project2 cd project3 pipenv install
如下:
初始化好虛擬環境後,會在項目目錄下產生2個檔案Pipfile和Pipfile.lock。為pipenv包的設定檔,代替原來的 requirement.txt。
項目提交時,可將Pipfile 檔案和Pipfile.lock檔案一併提交,待其他開發複製下載,根據此Pipfile 運行命令pipenv install --dev產生自己的虛擬環境。
Pipfile.lock 檔案是通過hash演算法將包的名稱和版本,及依賴關係產生雜湊值,可以保證包的完整性。
3 安裝包
用pycharm先開啟咱們剛剛建立的project,然後建立APP目錄,在app目錄下建立如下spider.py檔案,匯入requests庫,並沒有安裝。
安裝requests包:
1 pipenv install requests
如下:
這樣,在pycharm裡就能看到requests已經可用:
4 查看安裝的包和依賴關係
1 pipenv graph
如下:
4.1 如果只安裝在開發環境中
1 pipenv install --dev requests --three
如下:
反應在Pipfile如下:
[[source]]url = "https://pypi.python.org/simple"verify_ssl = truename = "pypi"[packages]requests = "*"[dev-packages]requests = "*"[requires]python_version = "3.6"
安裝包記錄是在[dev-packages] 部分,還是[packages] 部分。在安裝時,指定--dev參數,則只安裝[dev-packages]下的包,若安裝時不定指定--dev參數,只會安裝[packages] 包下面的模組。
[requires] 下的python在構建新的虛擬環境時,若沒有會自動下載安裝。
5 像virtualenv一樣用命令產生requirements 檔案
1 pipenv lock -r --dev > requirements.txt
如下:
6 通過requirements.txt安裝包
1 pipenv install -r requirements.txt
這樣我們可以重用之前的requirement.txt 檔案來構建我們新的開發環境,可以把我們的項目順利的遷到pipenv。
7 在虛擬環境運行py代碼
7.1 方法一: pipenv run python xxx.py
1 pipenv run python xxx.py
如下:
7.2 方法二:啟動虛擬環境的shell環境
1 pipenv shell
如下:
加上參數也可:
8 刪除包
1 pipenv uninstall reuqests
如下:
9 刪除虛擬環境
1 pipenv --rm
如下:
刪除虛擬環境之後,再次運行pip shell 會發現先為這個project建立虛擬環境,然後再開啟shell。如下:
10 常用參數及命令一覽
1 pipenv --where 列出本地工程路徑 2 pipenv --venv 列出虛擬環境路徑 3 pipenv --py 列出虛擬環境的Python可執行檔 4 pipenv install 安裝包(建立虛擬環境) 5 pipenv install moduel --dev 在開發環境安裝包 6 pipenv graph 查看包依賴 7 pipenv lock 產生lockfile 8 pipenv install --dev 安裝所有開發環境包 9 pipenv uninstall --all 卸載所有包10 pipenv --rm 刪除虛擬環境
更多命令及使用猛擊這裡。
Python包和版本管理的最好工具----pipenv