2014-10-17 42 views
1

我安裝了Python pdfminer module,它附帶pdf2txt.py。我可以使用pdf2txt.py在命令行,如下所示:爲什麼我可以從命令行導入Python模塊,但不能從腳本導入?

pdf2txt.py -o converted.html some-pdf.pdf 

的pdf2txt.py文件位於:

$ which pdf2txt.py 
/usr/local/bin/pdf2txt.py 

我也可以從交互式Python命令行導入它,而是我驚訝的是,我不能導入它的程序,我寫:

enter image description here

有誰知道這是爲什麼,更重要的是,我該怎麼解決呢?歡迎所有提示!

+1

https://docs.python.org/2/tutorial/modules.html#the-module-search-path – 2014-10-17 14:33:13

回答

1

很可能是因爲您從與PDF2txt.py相同的目錄啓動了解釋器,該解釋器將它放入模塊搜索路徑中。你的python代碼文件位於不同的目錄中嗎?

+0

對不起,我應該提到,情況並非如此。我從與腳本相同的目錄(這是與/ usr/local/bin/pdf2txt.py不同的目錄)開始解釋器。 – kramer65 2014-10-17 15:01:58

+0

我們能否在解釋器提示符和腳本中看到實際的ImportError和'print sys.path'? – ErlVolton 2014-10-17 15:19:20

1

原因正是因爲您使用與腳本相同的目錄啓動解釋器。您的腳本名稱恰好與庫名(pdf2txt)相同。在python的庫搜索路徑中,它將首先搜索其當前工作目錄(腳本所在的同一目錄)並導入pdf2txt.py,而不是pdf2txt.py的庫版本。

嘗試將您的腳本重命名爲pdf2txt.py以外的任何內容,它應該可以工作。

相關問題