gpt4 book ai didi

python - .pyc 文件甚至在未导入时就已创建

转载 作者:太空宇宙 更新时间:2023-11-04 03:05:42 24 4
gpt4 key购买 nike

我有 2 个 Python 文件,名为 numbers.pynumpyBasicOps.pynumbers.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'

另外,我看到正在生成 numbers.py.pyc 文件。

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

最佳答案

numpy 将它们自己的类整数对象注册为实现抽象基类 numbers.Integral .为此,它必须使用 import numbers 来访问该对象。

或者至少,它尝试过但失败了;正如您将模块命名为numbers 以及 一样,它被导入了。换句话说,您的 numbers.py 模块屏蔽了内置的 standard library module numbers .

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

关于python - .pyc 文件甚至在未导入时就已创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39566724/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com