2012-02-22 19 views
2

「インストールディレクトリからセットアップスクリプトへの一貫性のあるパスを取得できません」:は、私はgitリポジトリからパッケージをインストールするには、PIPを使用してい

pip install -e git+git://github.com/knipknap/[email protected]#egg=SpiffWorkflow-dev 

レポは問題なくクローン化されたが、インストールが失敗しますこのメッセージに:

Running setup.py egg_info for package SpiffWorkflow 
Installing collected packages: SpiffWorkflow 
Running setup.py develop for SpiffWorkflow 
error: ("Can't get a consistent path to setup script from installation 
    directory", '/', '/home/fcorreia/venvs/myproj/src/spiffworkflow') 

は私が...任意のアイデアをプロジェクトのsetup.pyに見てみるが、多くの成功なしで試してみましたか?

答えて

1

フラグ-eは、「編集可能」を意味し、それはpython setup.py developをやって同じである、<PACKAGE_NAME_LOWERCASE>からごsite-packagesディレクトリへのシンボリックリンクを作成し、通常のインストールを実行していないことからです。

問題が依存しているところ私が見ることができるSpiffWorkflowのsetup.pyを見る:

srcdir = join(dirname(__file__), 'src') 
setup(..., 
     package_dir  = {'': srcdir}) 

それは(何のモードが期待開発)の代わりにspiffworkflowの、パッケージのコンテンツはsrcに位置していることを述べています。

あなただけ-eフラグをドロップし、幸せになることができます。

pip install git+git://github.com/knipknap/[email protected]#egg=SpiffWorkflow-dev 

参考文献:

+0

私はSpiffWorkflowの私の枝を指し、その作業コピーに直接変更を加えることができるように '' -e''を保ちたいと思っています。あなたが指摘している最初のリファレンスでは、pythonパスに '' srcdir''を追加することで問題が解決できると思っています。また、setup.pyの最初のアクションの1つとして実行できるかもしれません。しかし、非常にエレガントな解決策ではありません... –

+1

'srcdir'をpythonパスに追加することはうまくいきません。なぜなら、' import spiffworkflow'を実行すると、pythonはpythonpathに 'spiffworkflow'という名前のディレクトリを探します。存在するのは 'src'という名前です。私はこの問題の解決策を知らないし、パッケージディレクトリを 'setup(name = XXX)'という名前以外の名前にしてパッケージングすることについて、ある種の "反パターン"だと思う。著者は良いだろう。あなたがより良い解決策を見つけたら教えてください。 –

+0

これはまだ修正されていませんか? setuptools(35.0.2)を実行していますが、まだこのエラーがあります。 srcから移動した後、問題は解決されます –

関連する問題