2011-07-16 78 views
1

大家好!如何導入舊的相同模塊存在的新安裝模塊

內置pycurl模塊沒有定義捲曲對象

conn = pycurl.Curl() 

錯誤消息:

「pycurl」 模塊具有捲曲

所以我下載無屬性最新的pycurl並安裝它,但它只適用於我在交互式Python解釋器中運行代碼時,並且當我將它作爲腳本文件運行時出現同樣的錯誤。

看來,當我將它作爲腳本文件運行時,將包含舊的pycurl模塊。

如何導入新的pycurl模塊或刪除舊的pycurl模塊?提前致謝。

PS。

在pydoc中,'。'下的pycurl(舊)模塊是可點擊的,重定向到只顯示「模塊沒有屬性Curl」的頁面,而'/usr/local/lib/python2.7/dist-packages'下的一個(新)是灰色且不可點擊的

回答

2

這是一個事情何時發現。 Python中使用的基本導入處理程序查看sys.path中指定的路徑以查找模塊,並在找到與其匹配的東西pycurl後,它將使用它,而不會看起來更遠。因此,您需要將自己的pycurl較高的副本放在模塊搜索路徑中,或者在您自己的腳本中執行類似sys.path.insert(1, '/path/to/my-pycurl')的操作,並使用包含pycurl程序包的目錄的路徑。

+0

非常感謝,它工作得很好!它將sys.path.insert()的第一個參數設置爲0 –

+0

@gbstack:如果它在您嘗試將其插入位置1時不起作用,那麼它會在目錄sys中找到錯誤的「pycurl」 .path [0]',這是腳本的目錄。歡迎您將它插入0,但我發現1更安全,因爲我知道在我自己的目錄中的modules/packages將始終佔上風。 –