我正在使用艺术工厂来托管大量的Python模块。有几次,https://pypi.python.org/pypi上的一个新的python模块将以相同的名称上传。当有人试图使用pip安装我的一个模块时,这会导致问题。默认情况下,pip首先查找公共包。
以下是我尝试过的:
1.我试过修改我的密码。pypirc文件,
[distutils] index-servers= artifactory pypi
有两个索引服务器的适当条目,但我相当肯定pip忽略了这些信息。
2.我尝试手动指定使用哪个索引服务器。
我可以指定--索引url
或--额外索引url
,但当公共包的版本号高于我的私有包时,后者没有帮助。如果我指定前者,则无法找到公共依赖项!好像我赢不了似的。
3.我已尝试在设置中指定依赖项链接。皮耶。
... 但这是不推荐的,因为这个答案是:pip忽略设置中的依赖关系链接。派克
如何配置pip,使其更喜欢我的人工库而不是公共库?
❌ 不要这样做❌.<我只是把它作为背景,但正如人们所指出的,这是不安全和错误的。
你能检查一下这是否有效吗
pip3 install --index-url https://artifactory.your.company.com/artifactory/api/pypi/your-pypi-here/simple --extra-index-url https://pypi.python.org/simple coolpackage
这个可以放在~/里面。皮普/皮普。conf设置此默认值。
[global]
index-url = https://artifactory.your.company.com/artifactory/api/pypi/your-pypi-here/simple
extra-index-url = https://pypi.python.org/simple
那你就可以了
pip install coolpackage
这是不可能实现的。
pip开发人员已经声明,所有包索引始终具有相同的优先级,这一点不会改变。
https://github.com/pypa/pip/issues/8606#issuecomment-788754817
https://github.com/pypa/pip/issues/8606#issuecomment-665554122
从每个包选择要下载的索引。
在两个索引中(无论它们是如何指定的),如果其中一个具有更高版本的包,则将选择该索引。如果两个版本相同,那么选择是以某种未指定且不稳定的顺序进行的,这种顺序可能碰巧适合您。
如果您处于某种情况下,事情似乎“起作用”,请注意,另一个索引(如果不受您控制)可以随时发布更高的版本,而用户将以隐式方式获得该版本
当两个索引中只有一个当前具有某个包时,同样适用:每当另一个索引决定以该名称发布包时,用户可以隐式切换到该索引。
https://github.com/pypa/pip/issues/8606#issuecomment-776623044
pip开发人员推荐的解决方案是直接对所有内容使用您自己的包索引。通常这可能意味着首先镜像所有PyPI,但实际上这并不是必需的,因为有一些实现(例如“simpleindex”)可以显式地根据所属的包将请求代理到不同的目标。因此,这将是实际的完整解决方案。
https://github.com/pypa/pip/issues/8606#issuecomment-835201448
另一个常见的建议是提前在PyPI上注册相同的包名,不要在那里上传任何东西,只是为了拥有它,从而防止名称占用攻击。(虽然这只解释了PyPI是唯一涉及的公共索引的情况。一般来说,您需要预测您将依赖的所有公共索引,并在所有这些索引上注册)。
https://github.com/pypa/pip/issues/8606#issuecomment-822701285
免责声明:我不参与Pip,只是总结了我在相关问题和相关问题中阅读的信息。
我创建了本地pypi服务器。我上传了我的项目需要的软件包,但是当尝试执行
问题内容: 关于Python 3.x,easy_install,pip和存储库(pypi.python.org)的当前状态如何? 是否有easy_install和/或pip版本可以从那里安装正确版本的软件包?否则,他们期望很快吗? 问题答案: PyPi本身支持Python3。setuptools软件包提供了与Python 3一起使用的easy_install版本。 根据pip页面,pip从v 1.
我在AnyLogic中开发了货运领域的离散事件模型。我有一个名为“truck”的代理,我在其页面和命令中定义了一个名为“冰箱”的参数
我在集群中有一个Hazelcast客户端和两个Hazelcast服务器,每个服务器包含单个复制的Map。 我给客户端2个hazelcast服务器节点,以便从replicatedMap中读取。 我是否可以将连接优先级赋予一台服务器,并在连接处于活动状态时从该服务器读取数据? 为了澄清,假设有MasterServer、SlaveServer和Client。 如果复制地图操作之间存在连接,我们是否可以强
4.4.1.1 创建/使用私有服务 私有服务是不能由其他应用启动的服务,因此它是最安全的服务。 当使用仅在应用中使用的私有服务时,只要您对该类使用显式意图,那么您就不必担心意外将它发送到任何其他应用。 下面展示了如何使用startService类型服务的示例代码。 要点(创建服务): 将导出属性显式设置为false。 小心并安全地处理收到的意图,即使意图从相同应用发送。 由于请求应用在同一应用中,
示例: >>>服务B(获取消息) 服务A>推送消息>>>服务B(不应接收消息,已复制) >>>服务C(获取消息) 我认为它是“路由”和“工作队列”的组合,我需要什么? 但我怎样才能正确地做到这一点呢?我使用node.js或C#(如果您有示例的话)。