--editable
を同時に使用する場合、 --target
はサポートされていないようです。 それが機能しているといいでしょう。 一方、より良い診断があるはずです
c:\>pip install -t z:\1 -e git+https://github.com/kennethreitz/requests.git#egg=requests
結果は
Obtaining requests from git+https://github.com/kennethreitz/requests.git#egg=requests
Updating c:\python\virtualenv\test\src\requests clone
Running setup.py egg_info for package requests
Downloading/unpacking certifi>=0.0.7 (from requests)
Running setup.py egg_info for package certifi
Downloading/unpacking oauthlib>=0.1.0,<0.2.0 (from requests)
Running setup.py egg_info for package oauthlib
Downloading/unpacking chardet>=1.0.0 (from requests)
Running setup.py egg_info for package chardet
Downloading/unpacking rsa (from oauthlib>=0.1.0,<0.2.0->requests)
Running setup.py egg_info for package rsa
warning: no files found matching 'README'
Downloading/unpacking pyasn1>=0.0.13 (from rsa->oauthlib>=0.1.0,<0.2.0->requests)
Running setup.py egg_info for package pyasn1
Installing collected packages: requests, certifi, oauthlib, chardet, rsa, pyasn1
Running setup.py develop for requests
usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: -c --help [cmd1 cmd2 ...]
or: -c --help-commands
or: -c cmd --help
error: option --home not recognized
Complete output from command c:\python\virtualenv\test\Scripts\python.exe -c "import setuptools; __file__='c:\\python\\virtualenv\\test\\src\\requests\\setup.py'; exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" develop --no-deps --home=c:\users\piotr\appdata\local\temp\tmp3abskl:
usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: -c --help [cmd1 cmd2 ...]
or: -c --help-commands
or: -c cmd --help
error: option --home not recognized
----------------------------------------
Command c:\python\virtualenv\test\Scripts\python.exe -c "import setuptools; __file__='c:\\python\\virtualenv\\test\\src\\requests\\setup.py'; exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" develop --no-deps --home=c:\users\piotr\appdata\local\temp\tmp3abskl failed with error code 1 in c:\python\virtualenv\test\src\requests
Storing complete log in C:\Users\Piotr\AppData\Roaming\pip\pip.log
pip install -t dir -e git+git://github.com/shazow/urllib3.git@f088037#egg=urllib3
でもこのエラーが発生します。
私も今このエラーに遭遇しました。
これは、 --target
と--editable
を組み合わせると、どのパッケージでも発生するようです。
pipはsetup.py develop --home ...
呼び出しますが、 --home
はsetup.py install
のみ適用できます。
したがって、最終的に、 --target
代わりに編集可能なパッケージで--src
オプションを使用すると、私が望むことを実行できることがわかりました。
--editable
が指定されている場合、 --target
は--src
と同じ効果を持つはずです。そうでない場合は、ユーザーにエラーメッセージが表示され、ユーザーに--src
が表示される可能性があります。 。
--editableが指定されている場合、-targetは--srcと同じ効果を持つはずです。
IMOの予想される動作は、 target
ディレクトリにeasy_install.pthを作成/更新します。
私はちょうど同じ問題を経験しました。 @jezdezによって提案されているように、次のようにすることでこれを回避できます(--editableを使用せずに):
git+ssh://[email protected]/some-user/some-repo.git#egg=Foo
私はここで同様の問題を自分で見ています:
Cleaning up...
Exception:
Traceback (most recent call last):
File "/efs/dev/bti/pip/1.3.1-build001/install/exec/2.7/lib/python/pip-1.3.1-py2.7.egg/pip/basecommand.py", line 139, in main
status = self.run(options, args)
File "/efs/dev/bti/pip/1.3.1-build001/install/exec/2.7/lib/python/pip-1.3.1-py2.7.egg/pip/commands/install.py", line 291, in run
for item in os.listdir(lib_dir):
OSError: [Errno 2] No such file or directory: '/tmp/tmppjdGHI/lib/python'
pip / commands /install.pyの290行目は次のとおりです。
lib_dir = home_lib(temp_target_dir)
私が追跡できることから、pipはpip / req.py行1194でこのパスをすでにクリーンアップしており、一時的なソースを削除しています。
requirement.remove_temporary_source()
そのクリーンアップをそのままにしておくことができますが、インストールを続行できるように、existsまたはtryブロックでラップします。 誰かがそれを問題として見ていますか?
@timalibディレクトリでも同じ問題が発生しました。 Pip HEADはおそらくこれを修正しましたが、少なくともCentOSでは問題が解決しません。 この特定のケースでは、libディレクトリの代わりにlib64ディレクトリがあります。
--target
を使用しても同じ問題が発生します(ただし、 --editable
は使用しません)。
これが私のトレースバックです—
Exception:
Traceback (most recent call last):
File "/Users/beaum/homebrew/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip-1.3.1-py2.7.egg/pip/basecommand.py", line 139, in main
status = self.run(options, args)
File "/Users/beaum/homebrew/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip-1.3.1-py2.7.egg/pip/commands/install.py", line 294, in run
for item in os.listdir(lib_dir):
OSError: [Errno 2] No such file or directory: '/var/folders/00/1hyxr000h01000cxqpysvccm0063vq/T/tmpc_E_Bl/lib/python'
+1、
PyYAML-3.10.tar.gz(241kB)のダウンロード:241kBをダウンロード パッケージpyyamlのsetup.pyegg_infoを実行しています 'ext / _yaml.c' Cython拡張機能をスキップします(最新) 収集したパッケージのインストール:krcore、sympy、pyparsing、pyyaml krcore用にsetup.py開発を実行しています 使用法:-c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...] または:-c --help [cmd1 cmd2 ...] または:-c --help-commands または:-c cmd --help エラー:オプション--homeが認識されません コマンド/ usr / bin / python -c "import setuptools; __file __ = '/ tmp / krapp / src / krcore / setup.py'; exec(compile(open(__ file __)。read()。replace( '\ r \ n '、' \ n ')、__ file__、' exec ')) "develop --no-deps --home = / tmp / tmpvKaRYp: 使用法:-c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...] または:-c --help [cmd1 cmd2 ...] または:-c --help-commands または:-c cmd --help エラー:オプション--homeが認識されません ---------------------------------------- 清掃... コマンド/ usr / bin / python -c "import setuptools; __file __ = '/ tmp / krapp / src / krcore / setup.py'; exec(compile(open(__ file __)。read()。replace( '\ r \ n '、' \ n ')、__ file__、' exec ')) "develop --no-deps --home = / tmp / tmpvKaRYpが/ tmp / krapp / src / krcoreのエラーコード1で失敗しました
--targetを-r(-requirements)とともに使用すると、「エラー:オプション--homeが認識されません」というメッセージが表示されます。
:+1:
@YorickPeterseと@jezdezの回避策に従うと、次のます。
エラー:homeまたはprefix / exec-prefixのいずれかを指定する必要があります-両方ではありません
--editableオプションと--targetオプションは連携しません
私は同じ問題にぶつかっています...
pipを使用してPythonパッケージをカスタムの場所(virtualenvではない)にインストールしようとしていますが、編集可能にするためにそれらの1つ(作業中のもの)が必要です。
これはおそらくhttps://github.com/pypa/setuptools/issues/392に関連してい
また、1つのpipコマンドでsetup.py develop
(編集可能なpkgの場合)とsetup.py install
(依存関係)の両方をトリガーできるため、私が考えることができる唯一の(非常に醜い)回避策は2つのコマンドを発行することです。
--no-deps
パッケージ用に1つ--editable
が渡されるかどうかに関係なく、他のpipコマンドラインオプションを変更する必要がなければ、はるかにクリーンになります。
したがって、これを機能させるには2つの方法があると思います。
--home
サポートするようにします。 https://github.com/pypa/setuptools/issues/392を修正しsetup.py develop
またはsetup.py install
どちらを呼び出すかによって、 --target
動作を異なる方法で実装します。 多分もっと簡単?pip abstract setuptoolsの詳細を持ち、
setup.py develop
またはsetup.py install
どちらを呼び出すかによって、--target
動作を異なる方法で実装します。 多分もっと簡単?
このオプションの最大の難点は、pipがビルドシステム(setuptools)の詳細を抽象化するように機能しているため、setuptoolsの問題に対する特別な場合の回避策がその目標に反することです。
結局、 --prefix
を使用し、カスタムの--install-option
を使用せずに、やりたいことができたので、 --editable
を渡すかどうかに関係なく、最終的に同じオプションを使用できます。 。
ただし、レイアウトを指定するpipオプションがないため、既存の(debian)レイアウトをpipのデフォルト(site-packages)に一致するように調整する必要がありました...
たぶん、追加を検討する機能ですか?
@xavfernandez
これには--target option
ラベルが必要です。
-eオプションと-tオプションの両方を使用するのが最善の回避策を教えてください。 '--home'オプションをサポートしているので、distutilsを使用することを提案していますか?
連絡あった?
私はまだ--editable
と--prefix
( --target
代わりに)を使用しています。これは私のために仕事をします。 しかし、 --prefix
と--target
の違いのため、pip <9.0.0で立ち往生しています。 詳細については、 https://github.com/pypa/pip/issues/4243をご覧ください。
あなたが持っている代わりに、あなたが必要とする--targetの--prefixオプションを使用したい場合はPYTHONPATH
(ポインティングに-作成するのsite-packagesディレクトリに)呼び出すことができます前に正しく設定をpip -t . --prefix myprefix
。 これを回避するためのエレガントな方法はありますか?
関連する問題の束を単一の問題に移動するために閉じる:#4390。
これは、依存関係をアプリルートのディレクトリにインストールする必要があるが、QAプロセスの一部としてローカルチェックアウトに編集可能な依存関係をデプロイする必要があるGoogleAppengine開発者にとっての問題であることを付け加えておきます。 現状では、編集者は手動でシンボリックリンクする必要があり、面倒です。
このスレッドは、閉じられた後に最近のアクティビティがないため、自動的にロックされています。 関連するバグについては、新しい問題を開いてください。
最も参考になるコメント
これは、依存関係をアプリルートのディレクトリにインストールする必要があるが、QAプロセスの一部としてローカルチェックアウトに編集可能な依存関係をデプロイする必要があるGoogleAppengine開発者にとっての問題であることを付け加えておきます。 現状では、編集者は手動でシンボリックリンクする必要があり、面倒です。