[英]Alternative for running Python script from shell using existing virtual environment
[英]Running Python from Virtual environment?
在~/python/venv/venv_python2
文件夾中創建虛擬環境。
我可以以常規方式(對於venvs)運行python
:
source ~/python/venv/venv_python2/bin/activate
python
或者我可以使用以下命令運行python:
~/python/venv/venv_python2/bin/python
上面的2和有什么不一樣?
沒有區別。
您可以通過在bash中鍵入which python
來檢查python
在哪里運行。 當您進入虛擬環境時,您會看到它指向您的虛擬環境。
虛擬環境的目的是隔離其中的依賴性,因此您不必擔心知道通往正確的Python解釋器或已安裝的庫的確切路徑。 因此,盡管使用絕對路徑從技術上來說不是不正確的,但它會完全繞過virtualenv的功能,如果您今天在腳本中對其進行硬編碼,並決定移動,遷移或重構您的virtualenv,則最終可能會指向錯誤的位置明天。
兩者之間有一個非常微小的,幾乎不相關的差異:
~/python/venv/venv_python2/bin/python
確切指定您要使用的Python解釋器。
python
運行檢查路徑時首先找到的解釋器。
發出source ~/python/venv/venv_python2/bin/activate
是將~/python/venv/venv_python2/bin
放在路徑的前面,因此當您運行/
-free命令時,第一個外殼看起來就是該目錄,這意味着python
將解析為您的虛擬環境中的那個目錄。
因此,兩種方法唯一不同的唯一方法是同時修改了PATH
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.