如何确保 pip 从内部 pypi 获取包?
How do I ensure pip gets package from internal pypi?
我有一个带有 requirements.txt
的应用程序,其中包括许多第三方库以及一个必须从私有 pypi 实例下载的内部包。类似于:
boto3
flask
flask-restplus
gunicorn
an_internal_package
问题是 an_internal_package
被命名为一些很常见的东西并且遮挡了全局 pypi 上已经可用的包。例如,我们称它为 twisted
。我 运行 遇到的问题是 requirements.txt
中的设置 --extra-index-url
似乎仍然从全局 pypi 中获取 twisted
。
--extra-index-url=https://some.internal.pypi.corp.lan
boto3
flask
flask-restplus
gunicorn
twisted # actually an internal package
如何指示 twisted
应该只从私有 pypi
而不是从全局加载?
可以参考index的解决方法,比较麻烦。你应该同时处理私有 pypi 和主 pypi。
而不是使用 --extra-index-url 你应该使用 --index-url.但是,我建议您阅读给定的 link
您可以 link 直接转到内部索引上的包:
boto3
flask
flask-restplus
gunicorn
https://some.internal.pypi.corp.lan/simple/twisted/Twisted-19.2.0.tar.bz2
这具有固定依赖项的效果,但无论如何这通常被认为是最佳实践。
我有一个带有 requirements.txt
的应用程序,其中包括许多第三方库以及一个必须从私有 pypi 实例下载的内部包。类似于:
boto3
flask
flask-restplus
gunicorn
an_internal_package
问题是 an_internal_package
被命名为一些很常见的东西并且遮挡了全局 pypi 上已经可用的包。例如,我们称它为 twisted
。我 运行 遇到的问题是 requirements.txt
中的设置 --extra-index-url
似乎仍然从全局 pypi 中获取 twisted
。
--extra-index-url=https://some.internal.pypi.corp.lan
boto3
flask
flask-restplus
gunicorn
twisted # actually an internal package
如何指示 twisted
应该只从私有 pypi
而不是从全局加载?
可以参考index的解决方法,比较麻烦。你应该同时处理私有 pypi 和主 pypi。
而不是使用 --extra-index-url 你应该使用 --index-url.但是,我建议您阅读给定的 link
您可以 link 直接转到内部索引上的包:
boto3
flask
flask-restplus
gunicorn
https://some.internal.pypi.corp.lan/simple/twisted/Twisted-19.2.0.tar.bz2
这具有固定依赖项的效果,但无论如何这通常被认为是最佳实践。