天天看點

virtualenv加載失敗處理

virtualenv是python解決依賴沖突的好工具,但是如果python腳本的首行如

在shell中直接運作該python腳本的話,不管是不是執行了

. venv/bin/activate

source venv/bin/activate

, virtualenv運作環境并不能被加載.

解決方法可以先檢視virtualenv文檔說明

解決方法簡單說明如下:

  1. 執行

    . venv/bin/activate

    的實際是修改

    PATH

    等環境變量,将

    venv/bin

    作為執行檔案首搜尋路徑,當使用者輸入

    python

    指令時,

    python

    的真實路徑變為

    evn/bin/python

    .是以python腳本的首行Shebang應寫為:
  2. 目前腳本可以正常執行了,但是環境變量

    PATH

    并未正确設定.如果執行subprocess建立子程序時,可能會使用不一緻的python解釋器來執行子程序腳本,是以還要設定下目前腳本的環境變量, 比如:
    ...
    import os
    import sys
    os.environ['PATH']="%s/bin:%s" % (sys.exec_prefix, os.environ['PATH'])