2011-08-16 125 views
2

我想從命令行運行一個腳本,Python是具有絕對沒有它:Python的搜索路徑 - Python不能找到我的模塊

[graffias:~/testing.tustincommercial.com]$ export PYTHONPATH=`pwd`:$PYTHONPATH           
[graffias:~/testing.tustincommercial.com]$ python -c 'import oneclickcos.mainapp; mainapp.mail.worker_loop()' 
Traceback (most recent call last): 
    File "<string>", line 1, in <module> 
ImportError: No module named oneclickcos.mainapp 
[graffias:~/testing.tustincommercial.com]$ python 
Python 2.5.2 (r252:60911, Jan 24 2010, 17:44:40) 
[GCC 4.3.2] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import oneclickcos 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: No module named oneclickcos 
>>> 
[graffias:~/testing.tustincommercial.com]$ ls ./oneclickcos/mainapp/mail.py 
./oneclickcos/mainapp/mail.py 
[graffias:~/testing.tustincommercial.com]$ 

任何想法?

注意事項:上面的命令應該是$python -c 'import oneclickcos.mainapp.mail; oneclickcos.mainapp.mail.worker_loop()'(另一個有效的變體)。

+0

在2.6中,我可以'導出PYTHONPATH =「/ a/b/c:/ a/b/d」'並導入這些文件夾中的模塊而沒有問題。除了在家裏有一臺特定的機器。在那個盒子裏,我只能在PYTHONPATH中有一個路徑,否則它不會導入任何東西。我斷定那個盒子上的解釋器編譯不正確。也許你正面臨類似的問題... – wberry

+0

我看不到你添加到你的模塊的父目錄路徑到'sys.path'。 –

回答

3

爲了從這樣的文件夾導入,它們必須設置爲packagesoneclickcosmainapp__init__.py文件嗎?