私が解決しようとしている状況は、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
です)。
問題はここで言及されていますが、私はそれを機能させることができませんでした。