使用virtualenv和pip構建項目所需的獨立Python環境

因爲最近恰好有個測試需求,來說一講如何使用virtualenv和pip構建項目所需的獨立Python環境。關於pip的介紹以前已有一篇博客,連接在下面。今天對pip的介紹主要是關於其餘參數。html

Python開篇——簡介、pip和condapython

1 爲何須要獨立的Python環境?

在講技術前,想先講講目的。爲何咱們須要獨立的Python環境?這裏就借用virtualenv的文檔來解釋吧。git

virtualenv is a tool to create isolated Python environments.github

The basic problem being addressed is one of dependencies and versions, and indirectly permissions. Imagine you have an application that needs version 1 of LibFoo, but another application requires version 2. How can you use both these applications? If you install everything into /usr/lib/python2.7/site-packages (or whatever your platform’s standard location is), it’s easy to end up in a situation where you unintentionally upgrade an application that shouldn’t be upgraded.app

Or more generally, what if you want to install an application and leave it be? If an application works, any change in its libraries or the versions of those libraries can break the application.python2.7

Also, what if you can’t install packages into the global site-packages directory? For instance, on a shared host.測試

In all these cases, virtualenv can help you. It creates an environment that has its own installation directories, that doesn’t share libraries with other virtualenv environments (and optionally doesn’t access the globally installed libraries either).ui

當你在開發or數據分析時,可能會趕上不一樣的需求,對所須要的包的版本不統一,譬如前一段我在開發D3L Tool的時候趕上的一個問題。當時開發的程序並不能在Win 7系統上運行,後面搜索了好久,發現是pyinstaller版本的問題。可是我又不太想把pyinstaller版本往降低。因此這個時候virtualenv就頗有用了。code

2 使用virtualenv和pip來構建純淨和獨立的Python環境

接下來主要來說講怎麼操做。另外提一句這裏介紹的主要是Windows下的,Linux和Mac的會有些小差異。基於的Python環境是Anaconda2 Python 2.7.12。orm

2.1 安裝

安裝部分仍是pip大法好。具體就不展開了,pip的安裝在前面的博客已經介紹過了。

pip install virtualenv

2.2 使用virtualenv建立Python環境

先選擇你要建立的工程路徑。用cmd進入到該文件夾裏。

cd your project path

接下來有兩種狀況,virtualenv的使用方式其實與pip相似,它也在Python安裝路徑的Scripts裏。所以根據你是否設置了環境變量就有兩種方式運行。

狀況1:將Scripts路徑設置爲電腦的環境變量

virtualenv venv #venv爲你的文件名,也就是放置新的、純淨的、獨立的Python環境的文件夾

狀況2: 沒有設置Scripts路徑爲電腦的環境變量

.../Python/Scripts/virtualenv venv #...表示Python安裝路徑包,根據我的不一樣替換,venv同上

接着就開始運行了,定位到咱們創建的文件夾下能夠看到。

一共有這麼幾個文件。

接下來在cmd定位到項目路徑,並運行以下命令。

cd Scripts
activate

這就進入了virtualenv的Python環境。

關閉這個環境,只須要運行以下命令。

deactivate

2.3 使用pip安裝包

其實pip安裝的部分我以前已經介紹過了,不過上一篇講得比較簡單,僅僅就講了講最簡單的pip install。而pip 安裝包的時候,因爲使用的是國外的地址下載包,可能會有些慢或者常常掉線,所以使用國內鏡像是比較快的,另外如前文的需求,有些時候須要安裝指定版本的包。這也是此次的重點。

pip install -i "mirror" numpy==version # mirror就是指國內的鏡像地址,version就是指包的版本。

主要介紹的兩個參數就是如上所示了,一個是填入國內鏡像地址,一個是給定指定包的版本。具體鏡像地址見問候連接的第二篇文章。這裏給出清華的鏡像。

清華大學鏡像:https://pypi.tuna.tsinghua.edu.cn/simple

本文參考的一些文章連接以下。

1.用virtualenv創建多個Python獨立開發環境

2.讓PIP源使用國內鏡像,提高下載速度和安裝成功率

相關文章
相關標籤/搜索