CollectiveAccessで動作するようにpdfMinerをインストールしようとしています。私のホスト(pair.com)から、このクエストに役立つ次の情報が提供されました。
コンパイルするとき、おそらく指示する必要があるでしょう
上記のアカウントスペースを使用するためのインストールであり、インストールを試みないでください
オペレーティングシステムのディレクトリに。通常、「-
インストールコマンドの最後にある home =/usr/home/username/pdfminer "でそれが可能になります。
インストールしようとしたとき、私はこの指示に従いました。結果は次のとおりです。
running install
running build
running build_py
running build_scripts
running install_lib
running install_scripts
changing mode of /usr/home/username/pdfminer/bin/latin2ascii.py to 755
changing mode of /usr/home/username/pdfminer/bin/pdf2txt.py to 755
changing mode of /usr/home/username/pdfminer/bin/dumppdf.py to 755
running install_Egg_info
Removing /usr/home/username/pdfminer/lib/python/pdfminer-20140328.Egg-info
Writing /usr/home/username/pdfminer/lib/python/pdfminer-20140328.Egg-info
私はそれで何も悪いことは見ていません(私はPythonに非常に慣れていません)が、サンプルコマンド$ pdf2txt.py samples/simple1.pdf
を実行しようとすると、次のエラーが発生します:
Traceback (most recent call last): File "pdf2txt.py", line 3, in <module>
from pdfminer.pdfdocument import PDFDocument ImportError: No module named pdfminer.pdfdocument
python 2.7.3を実行しています。ルート(共有ホスティング)からインストールできません。 pdfminerの最新バージョンである2014/03/28です。同様の問題に関する投稿をいくつか見ました(「モジュールの名前はありません。。。。」ですが、まったく同じものはありません。提案された解決策は役に立ちません(Sudoを使用したインストール-オプションではありません。python(これは問題ではないようです)など)。
それとも、これは私のホストへの質問ですか? (つまり、セットアップに関して何かがおかしい、または異なる)
パッケージpdfminer
は非標準/非デフォルトの場所にインストールされているため、Pythonはそれを見つけることができません。それを使用するには、 'pythonpath'に追加する必要があります。3つの方法:
実行時に、これをスクリプトに入れますpdf2txt.py
:
import sys
# if there are no conflicting packages in the default Python Libs =>
sys.path.append("/usr/home/username/pdfminer")
または
import sys
# to always use your package lib before the system's =>
sys.path.insert(1, "/usr/home/username/pdfminer")
注:--home
で指定されたインストールパスは、これだけでなく、インストールする可能性のあるすべてのパッケージのLibとして使用されます。そのフォルダーを削除し、-- home=/usr/home/username/myPyLibs
(または任意の一般名)を使用して再インストールする必要があります。これにより、そのインストールパスで他のパッケージをインストールするときに、ローカルLibに追加するパスが1つだけで済みます。それらをインポートします:
import sys
sys.path.insert(1, "/usr/home/username/myPyLibs")
スクリプトを実行する前に、それをPYTHONPATHに追加します。
export PYTHONPATH="${PYTHONPATH}:/usr/home/username/myPyLibs"
そして、それを~/.bashrc
ファイル(/usr/home/username/.bashrc
)または.profile
に適宜入れます。これは、コンソールから実行されないプログラムでは機能しない場合があります。
私はこのようなエラーがありました:
No module named 'pdfminer.pdfinterp'; 'pdfminer' is not a package
私の問題は、スクリプトにpdfminer.py
という名前を付けたということでした。これは、わからない理由で、Python元のpdfminer
パッケージファイルに使用して試しました。それをコンパイルします。
私名前を変更スクリプトを別のものに変更し、すべての*.pyc
ファイルと__pycache__
ディレクトリを削除すると、問題は解決しました。