在我的 Eclipse 项目中重命名我的源文件之一 logging.py 后无法导入 logging.py

Cannot import logging.py after I renamed one of my source files logging.py in my Eclipse project

我想,我通过重命名我的一个源文件 logging.py 破坏了 Eclipse,我很快将名称更改为其他名称但是 Eclipse 找不到原始的 python 标准文件...我重新安装了我的 Anaconda 安装但它没有解决问题......后来我发现它可能是一个 Python 问题(参见编辑 1)

当我要求 Eclipse 从 'import logging' 行查找或打开文件时,它似乎无法找到它...

是否可以在不重新安装 Eclipse 的情况下更正此问题?

Traceback (most recent call last):
  File "C:\Users\ailete\workspace\landema\main.py", line 56, in <module>
    import requests
  File "C:\Users\ailete\Anaconda2\Lib\site-packages\requests\__init__.py", line 53, in <module>
    from .packages.urllib3.contrib import pyopenssl
  File "C:\Users\ailete\Anaconda2\Lib\site-packages\requests\packages\__init__.py", line 27, in <module>
    from . import urllib3
  File "C:\Users\ailete\Anaconda2\Lib\site-packages\requests\packages\urllib3\__init__.py", line 8, in <module>
    from .connectionpool import (
  File "C:\Users\ailete\Anaconda2\Lib\site-packages\requests\packages\urllib3\connectionpool.py", line 35, in <module>
    from .connection import (
  File "C:\Users\ailete\Anaconda2\Lib\site-packages\requests\packages\urllib3\connection.py", line 43, in <module>
    from .util.ssl_ import (
  File "C:\Users\ailete\Anaconda2\Lib\site-packages\requests\packages\urllib3\util\__init__.py", line 19, in <module>
    from .retry import Retry
  File "C:\Users\ailete\Anaconda2\Lib\site-packages\requests\packages\urllib3\util\retry.py", line 15, in <module>
    log = logging.getLogger(__name__)
AttributeError: 'module' object has no attribute 'getLogger'

编辑 1

pyinstaller生成的可执行文件也有问题?! :

...
LOADER: Running main.py
Traceback (most recent call last):
  File "<string>", line 43, in <module>
  File "c:\users\ailete\appdata\local\temp\pip-build-iulqaq\pyinstaller\PyInstaller\loader\pyimod03_importers.py", line 363, in load_module
  File "C:\Users\ailete\workspace\landema\entities.py", line 7, in <module>
    from config import locale, ribbon_menu
  File "c:\users\ailete\appdata\local\temp\pip-build-iulqaq\pyinstaller\PyInstaller\loader\pyimod03_importers.py", line 363, in load_module
  File "C:\Users\ailete\workspace\landema\config.py", line 7, in <module>
    import logging
ImportError: No module named logging
main returned -1
...

首先,定义模块路径,放置内置模块日志记录的位置:

user@host:$ python
Python 2.7.9 (default, Mar  1 2015, 12:57:24) 
[GCC 4.9.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path
['/usr/lib/python2.7', ... ]

其次,确保有日志包。在我的 OS 中,我有 /usr/lib/python2.7/logging。我想你不小心重命名了包;如果是这样,请将其重命名。

抱歉,我自己解决了。 当我告诉 Eclipse 清理项目时,我以为 Eclipse 删除了 .pyc 文件,但它显然不是这样工作的,所以在重新安装 anaconda 2 次并对该项目进行配置调整后(我还有其他......),我终于想起了检查...文件的 .pyc 仍然存在,并带有旧名称 'logging.pyc' ...一如既往地感谢 Eclipse,因为你的怪癖浪费了我的时间!

我遇到了一个非常相似的问题。我收到的错误是:"AttributeError: ‘flask.logging’ object has no attribute ‘getLogger’"。解决方案是降级 Flask 包(设置 -> 项目 -> 项目解释器)。