我一直在做Learn Python the Hard Way的最后一个练习,它说在我运行我一直在做的程序之前,你必须像这样设置Pythonpath环境变量:
export PYTHONPATH=$PYTHONPATH:.
我这样做了,在它不起作用之后(我想这就是为什么当我试着运行我的程序时,我得到了一个重要的恐惧),我对pythonpath做了一些研究。本质上讲,Pythonpath是为了找到要导入的模块的位置。因此,我将Pythonpath设置为我试图导入的模块的实际位置,但仍然无效
这是我的目录:
- User/_myname_/python_stuff/projects/GothonWeb
- bin/
- __init__.py
- app.py
- gothonweb/
- __init__.py
- maps.py
- templates (web.py)
- game.html
- index.html
- layout.html
- so forth and so on.
我正在尝试运行app.py,它将尝试导入main.py模块:
from gothonweb import maps
但我仍然得到这个错误:
Traceback (most recent call last):
File "python_stuff/projects/GothonWeb/bin/app.py", line 2, in <module>
from gothonweb import maps
ImportError: No module named gothonweb
有人知道发生了什么事吗?哦,还有其他一些细节。在MacOSXLion上运行Python2.7,如果有帮助的话
好的,要在python中添加python路径,最简单的方法是在模块顶部
对于要添加的每个路径,您都可以回忆起这一点
stringofpath
是/path/to/dir/
,其中dir
是您的项目所在的目录不是您的项目目录。然后使用从项目目录开始的普通点符号,继续向下进入所有子目录在你的情况下,你的
stringofpath
是'User/myname/python_stuff'
随着您的进步,您将不得不花一些时间认真学习python路径,有很多东西很难找到。linux中的环境变量至少在
/etc/environment
中永久设置您必须告诉python在哪里加载包(即带有
__init__.py
文件的文件夹)为了避免上面提到的错误,您可以将
PYTHONPATH
设置为包文件夹的绝对路径,然后无论您在哪个文件夹中,python都会找到您的包或者,您可以使用虚拟环境工具来帮助您管理这些
按如下方式运行应用程序:
但是,如果您这样做:
很多用户都会犯这个错误,Zed Shaw对here的解释很好,为什么不这样运行你的应用程序
那你做错了。在所有python项目中,您都不会将cd放入较低的目录中运行。您将保持在顶部并从那里运行所有内容,以便系统的所有人员都可以访问所有模块和文件
相关问题 更多 >
编程相关推荐