9

本地 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]
...

这是我的内容 ~/.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 install 工作的任何想法?提前致谢!

4

4 回答 4

12

如果有人遇到同样的问题并对解决方案感兴趣,我做了两件事。

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。

希望这对某人有帮助!

于 2017-01-30T09:14:42.600 回答
6

我遇到了同样的问题。我使用以下步骤来解决它。它现在完美无缺。

在以下步骤中,替换pypi-mw为您的私有关系 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-NEXUS-USER:MY-NEXUS-PW@my-private-registry.com/repository/pypi-mw/simple/
trusted-host = my-private-registry.com

试试看

如果一切正常,您现在可以选择上传您的包,pypi如下所示:

python setup.py bdist_wheel upload

或到您的私人注册表:

python setup.py bdist_wheel upload -r "pypi-mw"

要安装软件包,您可以运行常用命令:

pip install mypackage --user 

它现在应该在两个注册表 (pypipypi-mw) 中搜索您的包。

于 2018-03-20T12:30:08.067 回答
2

我遇到了同样的问题,我通过在 Nexus 上为我的匿名用户添加 pypip-read 和 pypip-browse 角色解决了这个问题。

于 2017-12-12T06:32:09.830 回答
0

在Windows中使用 nexus 存储库配置 pip

pip.ini在文件夹中创建%APPDATA%/pip/pip.ini,在您的情况下,转到您自己的文件夹,然后在文件夹下%APPDATA%创建一个文本文件pip.inipip

在我当地的 m/c%APPDATA%C:\Users\username\AppData\Roaming>

在下面添加以下行pip.ini

[global]
trusted-host=nexus.example.com:8443
index = https://nexus.example.com/repository/pypi-group/pypi
index-url = https://nexus.example.com/repository/pypi-group/simple
no-cache-dir = false

然后您可以从 Windows 命令提示符运行 pip 命令

于 2021-08-25T06:08:44.060 回答