4

运行 Python 代码时,我不断收到以下错误:

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

用户警告:模块 pytz 已从
  C:\Python26\lib\site-packages\pytz\__init__.pyc,
    但是 c:\python26\lib\site-packages\pytz-2011h-py2.6.egg
      正在添加到 sys.path

从 pkg_resources 导入资源流

这是什么意思,我该如何解决?

4

3 回答 3

4

您已将软件包安装在其中,pytz并且还作为.egg. 删除.egg,您将不会收到警告。

但是,请注意,它被称为“虚假警告”——这实际上不是问题,尽管如果两者不同,它可能会变成一个问题。

于 2011-08-30T08:06:00.473 回答
2

Python bugtracker 问题

看起来,虚假警告的一大来源是 pkg_resources 在鸡蛋中找到其他模块之后导入。这可以通过将 insert_on() 方法更改为仅在分发不在 sys.path 上时检查冲突来解决。换句话说,如果您要重新添加已经存在的东西,那么多次收到警告是没有意义的。


要查看导入的情况,只需编写此脚本并检查输出。它可以为您提供一些有用的信息:

import sys, setuptools, pkg_resources
print sys.path
print pkg_resources.__file__
print setuptools.__file__
于 2011-08-30T06:50:56.110 回答
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

从 /Users/rkiko/anaconda/lib/python2.7/site-packages/ 删除整个 pytz 文件夹为我修复了它。这样就只剩下一个 pytz 包了。该解决方案类似于上面的 agf,但在我的情况下,它不是一个令人不安的鸡蛋,而是第二个 pytz 安装。所以,检查你是否有两个安装并删除一个,那不是系统 python 安装。

于 2015-01-22T20:48:13.993 回答