复制目录的Python导入失败
对于Python项目,我有如下目录结构:复制目录的Python导入失败,python,import,python-import,Python,Import,Python Import,对于Python项目,我有如下目录结构: my_project |_ ... dirA |_ __init__.py scriptA.py dirB |_ __init__.py scriptB.py ... 在dirA的\uuuuu init\uuuuuuuuuuuuuuuuuuuuuupy中(dirB的的
my_project
|_
...
dirA
|_
__init__.py
scriptA.py
dirB
|_
__init__.py
scriptB.py
...
在dirA
的\uuuuu init\uuuuuuuuuuuuuuuuuuuuuupy
中(dirB
的的
在scriptB.py
中,我执行以下操作:
from dirA import *
使用导入的后续代码工作正常
然后,我将整个项目(使用不同的项目目录名:my_project\u new
)复制并粘贴到与旧项目相同的目录中,并开始在这个新复制的目录中更改scriptA.py
的代码。(注意:myu project\u new
的目录结构与上面的完全相同)
修改后,我尝试运行myu project\u new
的scriptB.py
,发现它一直从原始myu project
目录导入dirA
,而不是当前myu project\u new
目录中的dirA
。为什么会这样
此外,我将原来的my_project
文件夹移动到另一个位置,并再次尝试运行my_project\u new
的scriptB.py
。然后,它无法完全识别dirA
。现在发生了什么事?我想发表评论,但我没有足够的声誉。希望我的猜测是正确的
是否有\uuuu init\uuuuu.pyc
文件?也许在编译字节码时,它会存储导入的绝对路径。尝试删除.pyc文件并导入。好建议。我喜欢版本控制的原因之一是,删除.pyc
@Logan非常容易,谢谢你的建议。我刚刚尝试从my_project\u new
目录中删除所有\uuuuu init\uuuuuuuuuuuuuuuuupyc
文件,但在导入scriptB.py
时仍然找不到dirA
。为了好玩,还可以删除scriptX.pyc文件。@Logan,实际上,这些脚本没有.pyc
。没有.pyc
文件是在执行导入dirA
失败的scriptB.py
后生成的。
from dirA import *