並且把目錄加進 sys.path 中。
之後,在這個virtual environment 中安裝的 python module,都會裝在這個目錄中,而不會是系統 /usr/lib/...
這樣是為了解決 python module 一堆相依和版本衝突情況。
讓每一個 project 存放自己需要的版本。
--- 但是這樣project folder 不就變很大?
使用方式是:
到project folder 下..
python3 -m venv myenv
source myenv/bin/activate
然後你就會看到 prompt 會多一個 (myenv),代表你現在是在 virtual environment 的環境。要退出的話,直接:
$ deactivate
python2 跟 python3 的 command 不一樣,但是動作是相同的。
python2 沒有 venv 這個 command,所以要直接用virtualenv:
virtualenv myenv
source myenv/bin/activate
另外,在 venv 狀態下 pip install 的 package 都會安裝在local 的 myenv 目錄下,
所以將來要在另一個地方重建的話,有必要要把目前venv 安裝的東西都再裝一次。
先把安裝的module列出:
$ pip freeze > requirements.txt
這個 requirement.txt 就是目前venv環境中所有安裝的 module.之後,到新環境,只要:
$ pip install -r requirements.txt
就可以把一樣的 module 都裝起來
沒有留言:
張貼留言