Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/360.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.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
无法使用PYTHONPATH加载模块_Python_Pythonpath - Fatal编程技术网

无法使用PYTHONPATH加载模块

无法使用PYTHONPATH加载模块,python,pythonpath,Python,Pythonpath,我有一个名为library的项目,其中有3个文件夹-user、book和main。用户中有一个user_utility.py。假设项目文件夹是: /User/me/Projects/library/user/user_utility.py /User/me/Projects/library/book/book_utility.py /User/me/Projects/library/main/main.py 现在,在/User/me/Projects/library/main/main.py中

我有一个名为library的项目,其中有3个文件夹-user、book和main。用户中有一个user_utility.py。假设项目文件夹是:

/User/me/Projects/library/user/user_utility.py
/User/me/Projects/library/book/book_utility.py
/User/me/Projects/library/main/main.py
现在,在/User/me/Projects/library/main/main.py中,我想将import语句写成:

from user.user_utility import UserUtility
允许我这样做的$PYTHONPATH变量是什么?我试过了

EXPORT PYTHONPATH="/User/me/Projects/library
但它不起作用,它扔了

No module named user.user_utility
如果直接从命令行调用main.py,则可以在行首设置环境变量:

 PYTHONPATH=/User/me/Projects/Library python main.py
否则,您应该能够使用以下设置模块查找路径:

export PYTHONPATH=/User/me/Projects/Library
要进行验证,可以通过以下方式查看环境变量:

env
另外,请确保将uu init_uuu.py放在用户文件夹中。

在这里处理PYTHONPATH确实是错误的方法。相反,将用户文件夹和书本文件夹转换为适当的模块/子模块。为此,您需要将_init__uu.py-文件添加到这两个文件中,例如如下所示:

from user_utility import some_routine
在您的示例中,这将是/User/me/Projects/library/User/\uuuu init\uuuu.py。现在,您可以从main.py文件导入此例程,如下所示:

from user import some_routine

要获得完整参考,请查看。

要成为一个可导入的模块,目录还必须包含一个名为_init__.py的文件。我将接受您的答案。我需要做的是只指向项目文件夹。