无法使用PYTHONPATH加载模块
我有一个名为library的项目,其中有3个文件夹-user、book和main。用户中有一个user_utility.py。假设项目文件夹是:无法使用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中
/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的文件。我将接受您的答案。我需要做的是只指向项目文件夹。