Я должен предоставить доступ к частному репозиторию BitBucket для пакетов Python нашей команды, которые можно установить из Google App Engine.
Я создал пароль приложения только с одним разрешением «Чтение из репозитория» и смог использоватьэто клонировало мой репозиторий, и у меня не было проблем с установкой моего пакета с использованием pipenv
, но pip
получает HTTP 403 от BitBucket:
Collecting my-package-0.1.0.beta1 from https://my_user:****@bitbucket.org/my-team/my_repo.git@v0.1#egg=my-package-0.1.0.beta1 (from -r requirements.txt (line 35))
HTTP error 403 while getting https://my_user:****@bitbucket.org/my-team/my_repo.git@v0.1#egg=my-package-0.1.0.beta1
Could not install requirement my-package-0.1.0.beta1 from https://my_user:****@bitbucket.org/my-team/my_repo.git@v0.1#egg=my-package-0.1.0.beta1 (from -r requirements.txt (line 35)) because of error 403 Client Error: Forbidden for url: https://bitbucket.org/my-team/my_repo.git@v0.1
В моей requirements.txt
35-й строке есть https://${BIT_USER}:${BIT_PASS}@bitbucket.org/my-team/my_repo.git@v0.1#egg=my-package-0.1.0.beta1
Клонирование с помощью командной строки: git clone "https://${BIT_USER}:${BIT_PASS}@bitbucket.org/my-team/my_repo.git"
работает как талисман и pipenv
устанавливает без каких-либо проблем с этой строкой: my-package = {git = "https://my_user:app_password@bitbucket.org/my-team/my_repo.git",ref = "v0.1"}
в моем Pipfile
.
Обратите внимание, что при установке с использованиемpipenv, после запуска pip freeze
я вижу, что мой пакет указан как my-package==0.1.0b1
, даже его версия в setup.py
равна 0.1.0.beta1
Я что-то пропустил?