不知怎的,我最终安装了2个名为'google'的不同模块。一个出现在python中的 site_packages 文件夹中,而我的自定义路径中的一个出现在 PYTHONPATH 中。 我想摆脱site_packages中的那个。所以我删除了该文件夹(根据其他SO答案)。但现在,我正面临这种奇怪的情况,它仍然在开始时加载错误
>>> import google; google.__path__
['/Library/Python/2.7/site-packages/google']
>>> google.__file__
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute '__file__'
>>> reload(google)
<module 'google' from '/custom_path/google-cloud-sdk/platform/google_appengine/google/__init__.pyc'>
>>> google.__path__
['/custom_path/google-cloud-sdk/platform/google_appengine/google'
>>> google.__file__
'/custom_path/google-cloud-sdk/platform/google_appengine/google/__init__.pyc'
所以基本上,第一次它仍然加载旧模块(没有文件),并且在重新加载时,它给出了正确的模块。
我的问题是如何完全删除旧版本,因为总是像这样重新加载模块是不可行的。
答案 0 :(得分:0)
问题在于其他模块在某种程度上持有对谷歌模块的引用。我从谷歌删除了所有包并重新安装它们,之后它完美地工作。我还不确定为什么&amp;该模块如何被引用,所以如果有人也可以对它进行说明,那将会很感激。