2024-05-23 23:29:58 发布
网友
我有这样一个目录结构:
PYTHONPATHDIR App1 someModule.py utils.py utils hasClassIWantToImport.py
我想从某个模块导入一些东西utils.hasClassiWantImport. 当我打电话给:
它无法解析“hasClassiWantImport”,因为它认为我在谈论实用工具.py在当前目录中。在
我该怎么办?我知道我可以重命名其中一个“utils”,但我不想。。。在
没有任何方法可以同时维护对PYTHONPATHDIR/utils和{}的访问,而不需要将它们中的一个引用到另一个。在
PYTHONPATHDIR/utils
如果修改路径使PYTHONPATHDIR位于列表的顶部,则可以导入utils.hasClassIWantToImport,但将失去对{}的访问权限。在
PYTHONPATHDIR
utils.hasClassIWantToImport
你能做的最好的方法就是把App1放进一个__init__.py文件,然后像@Gryphius建议的那样修改你的路径(即把/path/to/utils放在sys.path的开头)。当您想要访问utils.hasClassIWantToImport时,您可以
App1
__init__.py
/path/to/utils
sys.path
from utils.hasClassIWantToImport import ClassIWant
要导入与utils.py相关的文件,则
utils.py
然而,这是一个可怕的黑客攻击,只是为了避免重命名utils.py。我建议您省去长期困扰路径操作的问题,只需重命名该文件。在
不确定我是否正确理解您的目录设置,但您可以尝试:
import sys sys.path.insert(0,'/path/to/utils') from hasClassIwantToImport import ClassIWant
没有任何方法可以同时维护对}的访问,而不需要将它们中的一个引用到另一个。在
PYTHONPATHDIR/utils
和{如果修改路径使}的访问权限。在
PYTHONPATHDIR
位于列表的顶部,则可以导入utils.hasClassIWantToImport
,但将失去对{你能做的最好的方法就是把
App1
放进一个__init__.py
文件,然后像@Gryphius建议的那样修改你的路径(即把/path/to/utils
放在sys.path
的开头)。当您想要访问utils.hasClassIWantToImport
时,您可以要导入与
^{pr2}$utils.py
相关的文件,则然而,这是一个可怕的黑客攻击,只是为了避免重命名
utils.py
。我建议您省去长期困扰路径操作的问题,只需重命名该文件。在不确定我是否正确理解您的目录设置,但您可以尝试:
相关问题 更多 >
编程相关推荐