如何修复导入的路径分辨率

问题描述 投票:0回答:1

将部分合并到较大项目的请求请求中时,将软件包导入项目时出现问题。 runner.py利用Dir 2中每个子目录中的模块和脚本。子目录中的某些模块现在需要访问Dir 1和Dir 3中的模块。

我已经尝试附加系统路径,这不是正确的方法,但是这似乎在某些事情上是可行的,但会破坏其他事情。我尝试指定父目录,但这似乎不起作用,因为Python会在调用中更改工作目录。因此,如果我从Project Directory开始并执行python Dir_2/runner.py,则我的实际工作目录将是Project Directory/Dir_2,而不是Project Directory。如果我选择sys.path.append(os.getcwd()),则会破坏某些标准库的导入。我在这里想念什么?

我尝试过的事情

  • 通过附加使用相对引用。或..到进口商品的前面。生成

    ____________________________________________________________________________的主模块不存在,或者“您正试图访问此项目的根目录之上的目录”。

  • 项目的形状

  • 项目目录
    • Dir 1
    • Dir 2
      • runner.py
      • SubDir 1
      • SubDir 2
      • SubDir 3
  • Dir 3

将部分合并到较大项目的请求请求中时,将软件包导入项目时出现问题。 Runner.py利用...

python pycharm python-3.6
1个回答
1
投票
中的每个子目录中的模块和脚本

不要像脚本一样在子目录中运行文件。如果它是包结构的一部分,则它是module

© www.soinside.com 2019 - 2024. All rights reserved.