5

Natural Language Toolkit を使用して Python を学習するのは非常に楽しく、使用するためにいくつかのパッケージをインストールする必要がありましたが、ローカル マシンで問題なく動作します。NLTK リソースが現在私のシステムにどのように統合されているのかは、私には謎のままですが、NLTK ソース コードが、Python インタープリターが見つけられる場所に単純に置かれているわけではないことは明らかです。

別の会社がホストしている自分の Web サイトで Toolkit を使用したいと考えています。NLTK ソース コード ファイルをサーバーにアップロードし、ルート ディレクトリ内のスクリプトに「nltk をインポートする」ように指示するだけでは機能しません。私はそうなるとは思っていませんでした。

では、NLTK インストール ルーチンが行うことと単純なインポートの違いは何ですか? また、単純なインポートがツールキットにアクセスできないのはなぜですか? ホストの Python を本質的に変更せずに NLTK ソース ファイルを使用する方法はありますか?

あなたの考えとメモに感謝します。-G

4

3 に答える 3

2

システムインストールのサポートは必要ありません。Python が見つけられる適切なモジュールだけです。システム インストール権限なしで NLTK をセットアップしましたが、問題はほとんどありませんでした。

これを機能させるには、自分が制御しているコンピューターにローカル インストールをまとめる必要があります。理想的には、NLTK がインストールされていないコンピューターです。これは、自分用に構成されたものを忘れている (または知らない) 可能性があるためです必要なものが決まったら、バンドルをホスティング コンピューターにコピーします。ただし、その時点で、Web サーバーのアーキテクチャに適したモジュール バージョンを使用していることを確認してください。特に Numpy には、さまざまな 32/64 ビット バージョン、IIRC があります。

また、ホスティング コンピューターからのエラー メッセージを表示する方法を理解することも重要です。デフォルトでそれらが表示されない場合ImportErrorは、含まれているメッセージをキャッチして表示するか、stderr をリダイレクトすることができます...それは構成によって異なります。

于 2012-09-04T23:08:57.163 に答える
2

PYTHONPATH@dhgが指摘しているように)NLTKが必要なだけでなく、依存関係が必要です。簡単なローカル テストでは、これが実際にはPyYAML. pipパッケージをインストールするためにのみ使用する必要があります。すべての依存関係を手動で把握し、それに応じて微調整するよりも、エラーが発生しにくくなりますPYTHONPATH。これがインストールを実行するための適切なアクセス権を持っていない共有ホストである場合は、ホストにpipインストールを実行するよう依頼する必要があります。

質問のより一般的な「インストールスクリプトが行っていることは何でも」の部分に対処するには:ほとんどのPythonパッケージは、 (および場合によっては)setup.pyの上に構築された を使用して管理されます。これに本当に興味がある場合は、The Hitchhiker's Guide to Packaging をチェックしてください。distutilssetuputils

于 2012-08-28T20:25:17.317 に答える
1

NLTK ソースが にあると仮定して/some/dir/

dhg /some/dir/$ ls nltk
...
app
book.py
ccg
chat
chunk
classify
...    

nltkソースディレクトリが見つかったディレクトリから python インタープリターを起動できます。

dhg /some/dir/$ python
Python 2.7.1 (r271:86882M, Nov 30 2010, 10:35:34) 
>>> import nltk

または、その場所をPYTHONPATH環境変数に追加して、どこからでも NLTK を利用できるようにすることもできます。

dhg /whatever/$ export PYTHONPATH="$PYTHONPATH:/some/dir/"
dhg /whatever/$ python
Python 2.7.1 (r271:86882M, Nov 30 2010, 10:35:34) 
>>> import nltk

NLTK が依存するものを含む他の依存関係もPYTHONPATH、同じ方法で に追加できます。

于 2012-08-28T20:14:42.407 に答える