2012-09-17 28 views
0

我試圖將流行的庫的開發版本加載到我的項目中。顯然,它們將具有相同的軟件包名稱,因此不能在不消除歧義的情況下共存。從特定目錄中導入包的開發版本

我對python模塊管理的理解並不超出site-packages,模塊搜索路徑和標準導入語句。

我的代碼以下列進口:

from IPython.frontend.qt.console.rich_ipython_widget import RichIPythonWidget 
from IPython.frontend.qt.embedded_kernelmanager import QtEmbeddedKernelManager 
from IPython.frontend.qt.kernelmanager import QtKernelManager 
from IPython.lib import guisupport 

如何獲得IPython的符號指向用戶提供的目錄?

回答

2

將該目錄添加到PYTHONPATH的開頭。您可以通過設置PYTHONPATH環境變量,或者做類似的進口之前,下面這樣做:

import sys 
sys.path.insert(0, "/path/to/dev/IPython/dir") 

另一種選擇是使用virtualenv包來創建,讓你沙盒控制什麼的Python環境包已安裝。

$ pip install virtualenv 
$ virtualenv venv 
$ source venv/bin/activate 
(venv)$ pip install path/to/IPython/dev/package 
(venv)$ python some_script.py 
+0

但是什麼阻止解釋器從站點包目錄中獲取穩定版本的ipython? –

+0

Python按照路徑條目集的順序搜索目錄。在列表的* begin *中添加事物意味着它們會在列表中的後面進行搜索 - 因此,爲什麼要在* beginning *處添加開發目錄,以便在* site-packages之前搜索*。 – Amber

+0

aah of course,the index 0:D TY。 –