已将本地nexus服务器设置为我们的pip本地服务器。 我正在尝试使用所述本地服务器安装示例/测试类(继承)。 上传到本地服务器成功,但使用此命令安装:
pip install -i http://<nexus-ip>:8081/repository/pypi-all/pypi inherits
导致这个:
Could not find a version that satisfies the requirement inherits
(from versions: )
No matching distribution found for inherits
我也试过这些命令,但结果是一样的:
pip install inherits
pip install -i http://<nexus-ip>:8081/repository/pypi-all/pypi inherits-0.1
pip install -i http://<nexus-ip>:8081/repository/pypi-all/pypi inherits==0.1
这是我〜/ .pypirc的内容:
[distutils]
index-servers =
nexus
pypi
[nexus]
username: my-username
password: mypassword
repository: http://<nexus-ip>:8081/nexus/repository/pypi-internal/
[pypi]
...
这是内容my~ / .config / pip / pip.conf
[global]
index = http://<nexus-ip>:8081/repository/pypi-all/pypi
index-url = http://<nexus-ip>:8081/repository/pypi-all/simple
如上所述,使用以下命令上传是成功的:
python setup.py sdist upload -r nexus
来自nexus服务器的响应在这里(即表示上传成功):
creating inherits-0.1
creating inherits-0.1/inherits
creating inherits-0.1/inherits.egg-info
copying files to inherits-0.1...
copying setup.cfg -> inherits-0.1
copying setup.py -> inherits-0.1
copying inherits/__init__.py -> inherits-0.1/inherits
copying inherits/addmult.py -> inherits-0.1/inherits
copying inherits/inherits.py -> inherits-0.1/inherits
copying inherits/subdiv.py -> inherits-0.1/inherits
copying inherits.egg-info/PKG-INFO -> inherits-0.1/inherits.egg-info
copying inherits.egg-info/SOURCES.txt -> inherits-0.1/inherits.egg-info
copying inherits.egg-info/dependency_links.txt -> inherits-0.1/inherits.egg-info
copying inherits.egg-info/top_level.txt -> inherits-0.1/inherits.egg-info
Writing inherits-0.1/setup.cfg
Creating tar archive
removing 'inherits-0.1' (and everything under it)
running upload
Submitting dist/inherits-0.1.tar.gz to http://<nexus-ip>:8081/nexus/repository/pypi-internal/
Server response (200): OK
setup.py的内容是基本细节:
#!/usr/bin/env python
import os
import sys
try:
from setuptools import setup
except ImportError:
from distutils.core import setup
requires = []
setup(
name = "inherits",
packages = ["inherits"],
version = '0.1',
description = 'Example inherits package',
#url = "",
#download_url = "",
author = "Jayson Pryde",
classifiers = [],
)
有关如何解决此问题并使pip安装工作的任何想法?提前谢谢!
答案 0 :(得分:8)
如果有人遇到同样的问题并且对解决方案感兴趣,我做了两件事。
<强> 1。使用以下命令执行pip:
pip install inherits -i http://<nexus-ip>:8081/nexus/repository/pypi-all/simple -v --trusted-host <nexus-ip>
-v和--trusted-host参数是可选的
<强> 2。将〜/ .config / pip / pip.conf移动到〜/ .pip / pip.conf并执行:
pip install inherits -v —trusted-host <nexus-ip>
只有#2遇到的挑战是pip将始终连接到nexus服务器。因此,如果我想连接到pypi.org,我必须首先重命名pip.conf。
希望这有助于某人!
答案 1 :(得分:0)
我遇到了同样的问题,我通过在Nexus上为我的匿名用户添加pypip-read和pypip-browse角色解决了这个问题。
答案 2 :(得分:0)
我遇到了同样的问题。我使用以下步骤来解决它。它现在完美无瑕。
在以下步骤中,将
pypi-mw
替换为您的私人nexus pypi注册表名称。
为Nexus用户添加所有必要的权限
创建一个新角色。按照您的pypi-registry名称过滤所有权限并将其全部添加。将新角色应用于您的用户(您可以稍后细化):
编辑.pypirc
将其放入~/.pypirc
[distutils]
index-servers =
pypi
pypi-mw
[pypi]
repository: https://pypi.python.org/pypi
username: peter
[pypi-mw]
repository: https://my-private-registry.com/repository/pypi-mw/
username: peter
编辑pip.conf
将其放入~/.pip/pip.conf
:
[global]
index = https://pypi.python.org/pypi/
index-url=https://pypi.python.org/simple/
extra-index-url=https://my-private-registry.com/repository/pypi-mw/simple/
试一试
如果一切正常,您现在可以选择将包上传到pypi
,如下所示:
python setup.py bdist_wheel upload
或者您的私人注册表:
python setup.py bdist_wheel upload -r "pypi-mw"
要安装软件包,您可以运行常用命令:
pip install mypackage --user
现在应该搜索您的包的两个注册管理机构(pypi
和pypi-mw
)。