Pythonpath对我不起作用

Aco*_*r83 4 python pythonpath

所以我一直在努力学习"学习Python的艰难之路"的最后一个练习,它指出在我运行程序之前,你必须设置Pythonpath环境变量,如下所示:

export PYTHONPATH=$PYTHONPATH:.
Run Code Online (Sandbox Code Playgroud)

我已经完成了这个,并且在它没有工作之后(我假设这就是为什么当我尝试运行我的程序时,我得到一个ImportError),我做了一些关于pythonpath的研究.它基本上说Pythonpath是要找到要导入的模块的位置.所以我将Pythonpath设置为我试图导入的模块的实际位置,但仍无济于事.

这是我的目录:

  • User/myname/python_stuff/projects/GothonWeb
    • 斌/
      • init.py(当然是双下划线.)
      • app.py
    • gothonweb /
      • init.py(当然是双下划线.)
      • maps.py
    • 模板(web.py)
      • game.html
      • 的index.html
      • 的layout.html
    • 等等等等.

我试图运行app.py,尝试导入main.py模块:

from gothonweb import maps
Run Code Online (Sandbox Code Playgroud)

但我仍然得到这个错误:

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
Run Code Online (Sandbox Code Playgroud)

有谁知道什么?哦,其他一些细节.在Mac Os X Lion上运行Python 2.7,如果有帮助的话.

Esw*_*ala 7

像这样运行应用程序:

$ cd ~/path/to/gothonweb/
python bin/app.py
Run Code Online (Sandbox Code Playgroud)

但是,如果你这样做:

$ cd bin/   # WRONG! WRONG! WRONG!
$ python app.py  # WRONG! WRONG! WRONG!
Run Code Online (Sandbox Code Playgroud)

许多用户倾向于犯这个错误,是Zed Shaw的一个很好的解释,为什么不运行这样的应用程序!

那你做错了.在所有python项目中,您不要进入较低的目录来运行.您将保持在顶部并从那里运行所有内容,以便所有系统都可以访问所有模块和文件.