我有一個在CentOS上的virtualenv內運行的python應用程序。該應用程序需要一個以rpm形式分發和安裝的python庫。當應用程序運行我剛剛得到應用程序找不到安裝爲rpm的python庫
no module named ...
。
我已驗證rpm是否正確安裝,並且我還在virtualenv的site-packages目錄中安裝了rpm,但這並沒有幫助。安裝rpm的正確方法是什麼,以便在虛擬環境中運行的應用程序可以訪問它?
我有一個在CentOS上的virtualenv內運行的python應用程序。該應用程序需要一個以rpm形式分發和安裝的python庫。當應用程序運行我剛剛得到應用程序找不到安裝爲rpm的python庫
no module named ...
。
我已驗證rpm是否正確安裝,並且我還在virtualenv的site-packages目錄中安裝了rpm,但這並沒有幫助。安裝rpm的正確方法是什麼,以便在虛擬環境中運行的應用程序可以訪問它?
默認情況下虛擬環境不訪問站點包的模塊。您需要允許這樣的訪問(virtualenvwrapper中的toggleglobalsitepackages
),或者重新創建virtualenv,允許使用選項--system-site-packages
進行此類訪問。
這工作!另外(正如我應該想到的),它可以將安裝的rpm的路徑添加到PYTHON_PATH中 – user16655
它也可能是一個依賴性問題。嘗試重新安裝使用yum
代替rpm
的RPM:
yum -y reinstall /path/to/your/file.rpm
我忘記了實際的rpm命令,但是可以製作安裝中包含的文件列表嗎?如果它位於站點包內,則可能需要在創建virtualenv時啓用它。你係統python和virtualenv python之間有版本不匹配嗎? –