Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/300.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 - Fatal编程技术网

Python 从父目录导入

Python 从父目录导入,python,Python,我有这种路径架构: >main_path/ __init__.py config/ __init__.py common.py app_1/ __init__.py config.py index.py > 我希望能够在config.py中这样做: >from main_path.config import common > 虽然

我有这种路径架构:

>main_path/  
    __init__.py  
    config/  
        __init__.py  
        common.py  
    app_1/  
        __init__.py  
        config.py  
        index.py
> 
我希望能够在
config.py
中这样做:

>from main_path.config import common
> 
虽然它不起作用。Python告诉我:

> $> pwd
..../main_path/app_1  
$> python index.py
[...]  
ImportError: No module named main_path.config
> 
据我所知,如果我从主路径加载所有内容,这是可能的,尽管目标是让多个应用程序具有一个公共配置文件。
我试图将父目录添加到app_1/
\uuuu init\uuuu
.py中的
\uuu路径\uuuu
,但没有任何更改

我的下一步将是有一个象征性的链接,虽然我真的不喜欢这个“解决方案”,所以如果你有任何想法来帮助我,这将是非常感谢


提前谢谢

您可以调整PYTHONPATH环境变量或编辑sys.path。

根据要导入的PYTHONPATH环境变量中必须包含的a模块。您可以在程序中通过以下方式修改此内容:

import sys
sys.path.append('PATH_TO/config')
import common

有关详细信息,您可能需要查看。

如果要修改python的搜索路径而不必每次都设置PYTHONPATH,可以将路径配置文件(.pth文件)添加到python路径上的目录中

本文件对其进行了详细描述:

最方便的方法是添加 配置文件到目录的路径 这已经在Python的道路上了, 通常到…/站点包/ 目录路径配置文件 扩展名为.pth,每个 行必须包含一个 将附加到sys.path


如果您使用的是相对导入,那么还可以执行
导入操作系统;chdir('PATH\u TO/config')
,如果您愿意的话。