6

私が解決しようとしている状況は、bitbucket の別のプライベート リポジトリに依存している bitbucket のプライベート リポジトリからパッケージをインストールすることです。

これを使用してインストールを開始します。

pip install -e git+https://bitbucket.org/myuser/project-one.git/master#egg=django_one 

次に、次のように setup.py から依存関係をダウンロードしようとします。

install_requires = ['project-two',],
dependency_links = ['git+https://bitbucket.org/myuser/project-two.git/master#egg=project_two'],

これは失敗し、pip ログは次のようになります。

Downloading/unpacking project-two (from project-one)

  Getting page https://pypi.python.org/simple/project-two/
  Could not fetch URL https://pypi.python.org/simple/project-two/: HTTP Error 404: Not Found (project-two does not have any releases)
  Will skip URL https://pypi.python.org/simple/project-two/ when looking for download links for project-two (from project-one)
  Getting page https://pypi.python.org/simple/
  URLs to search for versions for project-two (from project-one):
  * https://pypi.python.org/simple/project-two/
  * git+https://bitbucket.org/myuser/project-two.git/master#egg=project-two
  Getting page https://pypi.python.org/simple/project-two/
  Cannot look at git URL git+https://bitbucket.org/myuser/project-two.git/master#egg=project-two
  Could not fetch URL https://pypi.python.org/simple/project-two/: HTTP Error 404: Not Found (project-two does not have any releases)
  Will skip URL https://pypi.python.org/simple/project-two/ when looking for download links for project-two (from project-one)
  Skipping link git+https://bitbucket.org/myuser/project-two.git/master#egg=project-two; wrong project name (not project-two)
  Could not find any downloads that satisfy the requirement project-two (from project-one)

このセットアップで興味深いのは、project-one のクローンを取得して実行すると、

python setup install

そこから、project-two が bitbucket からフェッチされ、私の virtualenv にインストールされます。私の理解では、pip は内部でセットアップ ツールを使用していたので、そのテストの成功が私のアプローチを検証したと仮定しました。

任意の提案をいただければ幸いです。

ファローアップ:

したがって、受け入れられた答えは非常に正しいですが、私の問題には、プライベートレポ(https + http auth-basic)であるという追加の複雑さがありました。構文の使用

dependency_links=["http://user:password@bitbucket.org/myuser/..."]

それでも 401 が発生しました。シェルを実行しpip.download.pyて run を使用するとurlopen、根本的な問題が示されます (つまり、これを機能させるには pip に追加のセットアップが必要urllib2です)。

問題はここで言及されていますが、私はそれを機能させることができませんでした。

4

1 に答える 1

3

pipVCSインストールのアイデアを作成したので、使用できますが、それを理解してgit+https://path/to/repo.gitsetuptoolsません。

setup.pyファイルを作成するときは、使用するだけでsetuptools(pip関係ありません)、setuptoolsそのような URL を理解していません。

tarball または zip ファイルでは使用できますdependency_linksが、git リポジトリでは使用できません。

あなたを次のように置き換えますdepencency_links

dependency_links=["https://bitbucket.org/myuser/project-two/get/master.zip#egg=project-two"]

そして、それが機能するかどうかを確認します。

https://stackoverflow.com/a/14928126/565999にも同様の質問があります


参考文献:

于 2013-04-10T01:02:01.360 に答える