Python包和版本管理的最好工具----pipenv

來源:互聯網
上載者:User

標籤:執行   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個檔案PipfilePipfile.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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.