3

Scrapydは、プロジェクトをeggifyでデプロイできるサービスです。しかし、私は問題に直面しています。MyScrapersという名前のプロジェクトがあり、そのスパイダークラスは次のようにimportステートメントを使用します。

from mylibs.common.my_base_spider import MyBaseSpider

my_base_spiderへのパスは/home/myprojectset/mylibs/common/my_base_spider

環境変数を設定しているPYTHONPATH=$HOME/myprojectset/ときに、scrapyコマンドを使用してMyScrapersを実行できます:scrapycrawlMyScrapers。

しかし、次のコマンドを使用してMyScrapersをデプロイするためにscrapydを使用すると、次のコマンドが表示されます。

サーバーの応答(200):{"ステータス": "エラー"、 "メッセージ": "ImportError:mylibs.common.my_base_spiderという名前のモジュールがありません"}

これらのライブラリを使用するためにデプロイされたプロジェクトを作成する方法を教えてください。

4

2 に答える 2

1

を編集したり、パッケージに依存していることを宣言しsetup.pyたりする必要があります。MANIFEST.inmylibs

詳細については、distutilsのドキュメントを参照してください。

于 2012-11-10T02:15:17.603 に答える
0

フォルダー内を使用してPythonを追加mylibsして答えを見つけました。そうすれば、プロジェクト内のすべてをインポートできます。実際、私のデプロイ可能なプロジェクトが存在する場所からはかなり離れていました。同じレベルで、それが配置されているフォルダー内でパッケージを検索します。site-packagessetup.pymylibmylibmylibssetup.pysetup.py

于 2012-11-12T13:36:55.577 に答える