Python 导入尝试导入与我指定的文件不同的文件
我有一个名为baseFunctions.py的文件,我将其更改为elementFunctions.py。使用parsePeaksMzML.py导入elementFunctions会给我带来奇怪的打印语句,特别是因为我在elementFunctions.py中没有任何打印语句。使用Eclipses调试器单步执行代码,而不是执行Python 导入尝试导入与我指定的文件不同的文件,python,eclipse,file,import,Python,Eclipse,File,Import,我有一个名为baseFunctions.py的文件,我将其更改为elementFunctions.py。使用parsePeaksMzML.py导入elementFunctions会给我带来奇怪的打印语句,特别是因为我在elementFunctions.py中没有任何打印语句。使用Eclipses调试器单步执行代码,而不是执行 import elementFunctions 正如它在parsePeaksMzML.py中所说的,它确实做到了 import baseFunctions 我认为重命名
import elementFunctions
正如它在parsePeaksMzML.py中所说的,它确实做到了
import baseFunctions
我认为重命名过程中出现了一些奇怪的混乱,所以我复制了elementFunctions.py中的所有代码,删除了该文件,创建了一个新文件,并将所有代码粘贴到新文件中。但我还是犯了同样奇怪的错误。查看文件夹时,我仍然有baseFunctions.pyc,所以我删除了它。重新运行代码给了我:
Traceback (most recent call last):
File "/homes/ndeklein/workspace/MS/Trunk/PyMS_dev/pyMS/test/test_parsePeaksMzML.py", line 25, in <module>
import parsePeaksMzML
File "/homes/ndeklein/workspace/MS/Trunk/PyMS_dev/pyMS/test/parsePeaksMzML.py", line 12, in <module>
import elementFunctions
ImportError: No module named baseFunctions
回溯(最近一次呼叫最后一次):
文件“/homes/ndeklein/workspace/MS/Trunk/PyMS_dev/PyMS/test/test_parsePeaksMzML.py”,第25行,在
导入peaksmzml
文件“/homes/ndeklein/workspace/MS/Trunk/PyMS_dev/PyMS/test/parsePeaksMzML.py”,第12行,在
导入元素函数
ImportError:没有名为baseFunctions的模块
不知何故,import elementFunctions指向import baseFunctions(我不知道为什么),删除和重新生成elementFunctions.py没有任何效果。我在谷歌上找不到像这样的搜索,也找不到堆栈溢出,所以我有点被难住了
我怀疑这是eclipse的问题,但我不确定
编辑:
更奇怪的是,我从导入parsePeaksMzML.py时出错 测试_parsePeaksMzML.py,但在我直接运行parsePeaksMzML.py时不测试 编辑2:
从命令行运行会产生相同的错误:
-bash-3.2$ python test_parsePeaksMzML.py
Traceback (most recent call last):
File "test_parsePeaksMzML.py", line 26, in <module>
import parsePeaksMzML
File "/homes/ndeklein/workspace/MS/Trunk/PyMS_dev/pyMS/test/parsePeaksMzML.py", line 12, in <module>
ImportError: No module named baseFunctions
-bash-3.2$
-bash-3.2$python测试\u parsePeaksMzML.py
回溯(最近一次呼叫最后一次):
文件“test_parsePeaksMzML.py”,第26行,在
导入peaksmzml
文件“/homes/ndeklein/workspace/MS/Trunk/PyMS_dev/PyMS/test/parsePeaksMzML.py”,第12行,在
ImportError:没有名为baseFunctions的模块
-bash-3.2美元
如果更改了文件名,工作区中可能会残留一些旧的.pyc文件。我假设您正在Eclipse中使用PyDev插件;我已经有一段时间没用了,但是你应该可以做一个项目->清理。如果这没有帮助,请尝试手动清除工作区中的所有.pyc文件
你描述的症状非常奇怪,所以我不能100%确定问题出在哪里。不管怎样,请尝试清理您的工作区,并让我们了解工作进展情况。请尝试全面删除所有
.pyc
文件,看看是否可以清除。如果没有,以下是一些可能性:
- 您的
指向的源代码与您预期的不同。(尽管这可能不是全部解释。)$PYTHONPATH
elementFunctions/\uuuu init\uuuu.py
中的代码正在尝试导入baseFunctions
- 某个地方的代码正在使用
exec
语句进行导入,或者使用内置的\uuuuuuuuuuuuuuuuuuuu
函数动态导入baseFunctions
(这可能会使指令的源难以查找)