Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何修复导入的路径解析_Python_Pycharm_Python 3.6 - Fatal编程技术网

Python 如何修复导入的路径解析

Python 如何修复导入的路径解析,python,pycharm,python-3.6,Python,Pycharm,Python 3.6,当我将我的部分合并到一个更大的项目的pull请求中时,我在将包导入到项目中时遇到了一个问题runner.py利用dir2中每个子目录中的模块和脚本。子目录中的一些模块现在需要访问dir1和dir3中的模块 我尝试了附加系统路径,这不是正确的方法,但这似乎对某些事情有效,而对其他事情无效。我尝试过指定父目录,但这似乎不起作用,因为Python在调用时更改了工作目录。因此,如果我从项目目录开始并执行python目录/runner.py我的实际工作目录将是项目目录/diru 2,而不是项目目录。如果我

当我将我的部分合并到一个更大的项目的pull请求中时,我在将包导入到项目中时遇到了一个问题
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