簡體   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