2011-08-30 108 views
4

我不斷收到以下錯誤,同時運行Python代碼:模塊pytz已經進口

 
C:\Python26\lib\site-packages\pytz\__init__.py:32: 

UserWarning: Module pytz was already imported from 
    C:\Python26\lib\site-packages\pytz\__init__.pyc, 
    but c:\python26\lib\site-packages\pytz-2011h-py2.6.egg 
     is being added to sys.path 

from pkg_resources import resource_stream 

是什麼意思,我怎樣才能解決呢?

回答

3

你已經安裝在pytz,也可以作爲一個.egg包。刪除.egg,你不會得到警告。

但是,請注意它被稱爲「虛假警告」 - 這實際上並不是一個問題,但它可能會成爲一個,如果兩者不同。

2

the Python bugtracker issue

看來,這個假警告的一大來源是當通過pkg_resources 雞蛋中發現的其它模塊之後是進口的。可以通過更改 insert_on()方法來解決此問題,以僅檢查sys.path上的分發不是 時的衝突。換句話說,如果你重新添加了已經存在的東西 ,那麼不止一次地獲得警告。


要查看與輸入情況怎麼回事,只寫這個劇本,並檢查輸出。 它可以給你一些有用的信息:

import sys, setuptools, pkg_resources 
print sys.path 
print pkg_resources.__file__ 
print setuptools.__file__ 
+0

這看起來像一個解決方法,而不是解決方案。我想知道一個合適的解決方案是否只能來自Python實現本身 – Jonathan

+0

@agf - 忽略警告?這是baaaad練習... :) – Jonathan

+0

@agf - that worked :)將其添加到答案,我會接受它 – Jonathan

0

我有以下問題:

/Users/rkiko/anaconda/lib/python2.7/site-packages/pytz/__init__.py:29: UserWarning: Module pytz 
was already imported from /Users/rkiko/anaconda/lib/python2.7/site-packages/pytz/__init__.pyc, but 
/Library/Python/2.7/site-packages is being added to sys.path 
from pkg_resources import resource_stream 

刪除整個文件夾pytz從/Users/rkiko/anaconda/lib/python2.7/site-packages/固定對我來說。這樣只剩下一個pytz包。解決方案與上面的agf類似,但在我的情況下,它不是一個令人不安的雞蛋,而是第二個pytz裝置。因此,檢查是否有兩個安裝並刪除它,這不是系統python安裝。

+0

我有類似的情況,我用pip卸載pytz解決了它 – odedbd