Python 如何修复导入的路径解析
当我将我的部分合并到一个更大的项目的pull请求中时,我在将包导入到项目中时遇到了一个问题Python 如何修复导入的路径解析,python,pycharm,python-3.6,Python,Pycharm,Python 3.6,当我将我的部分合并到一个更大的项目的pull请求中时,我在将包导入到项目中时遇到了一个问题runner.py利用dir2中每个子目录中的模块和脚本。子目录中的一些模块现在需要访问dir1和dir3中的模块 我尝试了附加系统路径,这不是正确的方法,但这似乎对某些事情有效,而对其他事情无效。我尝试过指定父目录,但这似乎不起作用,因为Python在调用时更改了工作目录。因此,如果我从项目目录开始并执行python目录/runner.py我的实际工作目录将是项目目录/diru 2,而不是项目目录。如果我
runner.py
利用dir2中每个子目录中的模块和脚本。子目录中的一些模块现在需要访问dir1和dir3中的模块
我尝试了附加系统路径,这不是正确的方法,但这似乎对某些事情有效,而对其他事情无效。我尝试过指定父目录,但这似乎不起作用,因为Python在调用时更改了工作目录。因此,如果我从项目目录开始
并执行python目录/runner.py
我的实际工作目录将是项目目录/diru 2
,而不是项目目录。如果我sys.path.append(os.getcwd())
我会中断一些标准库导入。我错过了什么
我尝试过的事情
- 通过追加使用相对引用。或在进口商品的前面。这就产生了 __主模块不存在或“您正试图访问此项目根目录上方的目录”
- 项目目录
- 目录1
- 目录2
- runner.py
- 细分1
- 细分2
- 分区3
- 目录3
python -m dir2.runner
不要像运行脚本一样运行子目录中的文件。如果它是包结构的一部分,则它是一个模块,而不是脚本,因此请将其作为一个模块运行:
python -m dir2.runner