繁体   English   中英

pyImporterror从父文件夹运行子文件夹python脚本

[英]pyImporterror running subfolder python scripts from the parent folder

我试图从directory文件夹中运行:
$ python subdirectoryTwo/file.py命令(Python 2.7)。

文件夹结构:

-directory  

    -subdirectoryOne  
        __init.py__
        config.py
    -subdirectoryTwo  
        __init.py__  
        file.py 

我的file.py具有: from subdirectoryOne.config import config file.py from subdirectoryOne.config import config

但是我得到一个错误:

file.pyImportError:没有名为subdirectoryOne.config的模块

(我猜它仍然看起来在directory文件夹中)

您几乎不需要更换任何薄片。

(公共)环境包装-MacBook-Pro:qx坦率$树

.
├── __init__.py
├── __init__.pyc
├── a
│   ├── __init__.py
│   ├── __init__.pyc
│   ├── config.py
│   └── config.pyc
└── b
    ├── __init__.py
    └── test.py

用您的subdirectoryOnesubdirectoryTwo创建一个__init__.py ,就像这里我使用ab 然后在file.py的开头添加一些代码。 我在这里将其命名为test.py 代码是:

import sys

sys.path.append("..")

from project.a.config import myconf


print(myconf)

您可以看到我是通过project.a.config而不是a.config 因为您在项目下运行代码。

UPDATE

我的a/config.py很简单:

(public)landpacks-MacBook-Pro:qx frank$ cat a/config.py
myconf='127.0.0.1'

解决方案之一(不是最佳解决方案)是将PYTHONPATH设置为您的directory
$ export PYTHONPATH='/absolute/path/to/directory'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM