Python .pyc文件甚至在未导入时创建

Python .pyc文件甚至在未导入时创建,python,python-2.7,numpy,Python,Python 2.7,Numpy,我有两个名为numbers.py和numpyBasicOps.py的Python文件numbers.py是一个简单的Python文件,不导入任何模块numpyBasicOps.py导入numpy库 每当我运行numpyBasicOps.py,首先显示numbers.py的输出,然后显示与numpy模块相关的一些错误: Traceback (most recent call last): File "./numpyBasicOps.py", line 3, in <module>

我有两个名为
numbers.py
numpyBasicOps.py
的Python文件
numbers.py
是一个简单的Python文件,不导入任何模块
numpyBasicOps.py
导入
numpy

每当我运行
numpyBasicOps.py
,首先显示
numbers.py
的输出,然后显示与
numpy
模块相关的一些错误:

Traceback (most recent call last):
  File "./numpyBasicOps.py", line 3, in <module>
    import numpy as np
  File "/Library/Python/2.7/site-packages/numpy-1.11.2rc1-py2.7-macosx-10.11-intel.egg/numpy/__init__.py", line 142, in <module>
    from . import add_newdocs
  File "/Library/Python/2.7/site-packages/numpy-1.11.2rc1-py2.7-macosx-10.11-intel.egg/numpy/add_newdocs.py", line 13, in <module>
    from numpy.lib import add_newdoc
  File "/Library/Python/2.7/site-packages/numpy-1.11.2rc1-py2.7-macosx-10.11-intel.egg/numpy/lib/__init__.py", line 8, in <module>
    from .type_check import *
  File "/Library/Python/2.7/site-packages/numpy-1.11.2rc1-py2.7-macosx-10.11-intel.egg/numpy/lib/type_check.py", line 11, in <module>
    import numpy.core.numeric as _nx
  File "/Library/Python/2.7/site-packages/numpy-1.11.2rc1-py2.7-macosx-10.11-intel.egg/numpy/core/__init__.py", line 22, in <module>
    from . import _internal  # for freeze programs
  File "/Library/Python/2.7/site-packages/numpy-1.11.2rc1-py2.7-macosx-10.11-intel.egg/numpy/core/_internal.py", line 15, in <module>
    from .numerictypes import object_
  File "/Library/Python/2.7/site-packages/numpy-1.11.2rc1-py2.7-macosx-10.11-intel.egg/numpy/core/numerictypes.py", line 962, in <module>
    _register_types()
  File "/Library/Python/2.7/site-packages/numpy-1.11.2rc1-py2.7-macosx-10.11-intel.egg/numpy/core/numerictypes.py", line 958, in _register_types
    numbers.Integral.register(integer)
AttributeError: 'module' object has no attribute 'Integral'
回溯(最近一次呼叫最后一次):
文件“/numpyBasicOps.py”,第3行,在
将numpy作为np导入
文件“/Library/Python/2.7/site packages/numpy-1.11.2rc1-py2.7-macosx-10.11-intel.egg/numpy/_init__.py”,第142行
从…起导入添加新文档
文件“/Library/Python/2.7/site packages/numpy-1.11.2rc1-py2.7-macosx-10.11-intel.egg/numpy/add_newdocs.py”,第13行,在
从numpy.lib导入添加新文档
文件“/Library/Python/2.7/site packages/numpy-1.11.2rc1-py2.7-macosx-10.11-intel.egg/numpy/lib/__init____;.py”,中的第8行
from.type\u检查导入*
文件“/Library/Python/2.7/site packages/numpy-1.11.2rc1-py2.7-macosx-10.11-intel.egg/numpy/lib/type_check.py”,中第11行
将numpy.core.numeric作为_nx导入
文件“/Library/Python/2.7/site packages/numpy-1.11.2rc1-py2.7-macosx-10.11-intel.egg/numpy/core/__init____;.py”,第22行
从…起导入_internal#用于冻结程序
文件“/Library/Python/2.7/site packages/numpy-1.11.2rc1-py2.7-macosx-10.11-intel.egg/numpy/core/_internal.py”,第15行,在
from.numerictypes导入对象_
文件“/Library/Python/2.7/site packages/numpy-1.11.2rc1-py2.7-macosx-10.11-intel.egg/numpy/core/numeritypes.py”,第962行,中
_寄存器类型()
文件“/Library/Python/2.7/site packages/numpy-1.11.2rc1-py2.7-macosx-10.11-intel.egg/numpy/core/numerictypes.py”,第958行,在寄存器类型中
数字.整数.寄存器(整数)
AttributeError:“模块”对象没有属性“积分”
另外,我看到正在生成一个
.pyc
文件,用于
numbers.py


numbers.pyc
文件即使未在
numpyBasicOps.py
中导入,也是如何生成的?为什么显示
numbers.py的输出?

numpy
将它们自己的类整数对象注册为实现抽象基类。为此,它必须使用
导入编号
来访问该对象

或者至少,它尝试过,但失败了;当您将模块命名为
numbers
时,它被导入。换句话说,您的
numbers.py
模块屏蔽了内置的


将您的模块重命名为其他模块,并确保删除创建的
numbers.pyc
文件。

谢谢@Martijn Pieters。这对我现在起作用了。但我有一个疑问:我现在拥有的numpy是新安装的。早些时候,numpy已经出现在Python中。我不必单独安装它。但是为了安装Tensorflow,这个numpy版本出现了问题,所以我不得不删除它。我安装了另一个与tensorflow兼容的numpy版本。所以,我的疑问是,对于早期版本的numpy,“numpyBasicOps.py”文件过去可以正常工作,但不会给出任何numpy错误。那么为什么它能更早地工作呢?@AnujaP:这并不是很多信息,但据猜测,这听起来像是旧版本的
numpy
没有导入
数字。