标签: pypiserver

pip install 实际上是做什么的?

超级新手问题在这里..

pip install 实际上是做什么的?

假设 pypi 包是一个压缩包......

它只是下载 tar.gz,解压并运行 setup.py 吗?

它是否将下载的包添加到 site_packages 文件夹?

我想使用 pypiserver 创建一个 pip 可安装的 pkg,这样我的同事就可以轻松下载我的 pkg,但我有点不确定在实际的 .py 脚本之外到底要包含什么。

任何指导将不胜感激

python pip package pypi pypiserver

13
推荐指数
1
解决办法
5154
查看次数

如何在没有互联网访问和搜索功能的情况下制作本地 Pypi 镜像?

我正在尝试在我只能连接外部硬盘驱动器的服务器上使用 pip 搜索功能制作一个完整的本地 Pypi 存储库镜像。明确地说,我不想要一个简单的缓存系统,服务器连接到一个完全封闭的网络中的其他机器,根本无法访问互联网。

到目前为止,我所做的是使用 bandersnatch 转储每个 pypi 包,并且我可以在它前面使用一个简单的 http 服务器进行 pip 安装。我还检索了 pypi 遗留源代码,并让它在没有任何 python 包的情况下工作。我现在遇到的问题是将双方联系起来,我什至不确定是否可以这样做。

我还测试了pypiserver。它本可以做我想做的,但它太慢了,最终导致 pip search 抛出超时(看起来它不是为处理那么多包而构建的)。

最后,我看了一下devpi。似乎可以很好地完成我想做的工作,但我正在寻找一种方法来轻松地将我的 bandersnatch 转储导入其中。看起来我无法基于本地目录创建索引。

感谢您的任何回应。

python pip pypi devpi pypiserver

6
推荐指数
1
解决办法
4566
查看次数

如何使`pip search` 与我的本地 pypi 服务器一起使用?

我有一堆与互联网隔离的机器,并且只能访问本地网络上的某些服务。

我希望使用这些机器的用户能够从本地 pypi 服务器搜索和安装他们想要的任何 python 库。因此,我在 /etc/ 下创建了一个全局 pip.conf,其中包含以下几行:

[global]
trusted-host = my.pypi-server.com
index-url = https://my.pypi-server.com/
Run Code Online (Sandbox Code Playgroud)

当库的名称已知并且您只需运行pip install fancy-lib. 但是,在搜索包时,pip 似乎忽略了 index-url:

$  pip search fancy-lib -vvvv
Starting new HTTPS connection (1): pypi.python.org

$  pip install fancy-lib -vvvv
Collecting fancy-lib
  1 location(s) to search for versions of fancy-lib:
  * https://my.pypi-server.com/simple/fancy-lib
  Getting page https://my.pypi-server.com/simple/fancy-lib
  Looking up "https://my.pypi-server.com/simple/fancy-lib" in the cache
  No cache entry available
  Starting new HTTPS connection (1): https://my.pypi-server.com/
Run Code Online (Sandbox Code Playgroud)

如何pip search使用本地 pypi 服务器?

python pip pypi python-3.x pypiserver

6
推荐指数
1
解决办法
5707
查看次数

无法将诗歌包上传到本地dockerized pypiserver

我使用以下命令创建了本地 pypi 服务器

\n
docker run -p 5151:8080 -v ~/.htpasswd:/data/.htpasswd pypiserver/pypiserver:latest -P .htpasswd packages\n
Run Code Online (Sandbox Code Playgroud)\n

然而,当我尝试使用诗歌上传我的包时,我得到:

\n
poetry publish -r myrepo\n\n\nPublishing mypack (0.1.0) to myrepo\n - Uploading mypack-0.1.0-py3-none-any.whl 100%\n\n UploadError\n\n HTTP Error 405: Method Not Allowed\n\n at ~/.poetry/lib/poetry/publishing/uploader.py:216 in _upload\n     212\xe2\x94\x82                     self._register(session, url)\n     213\xe2\x94\x82                 except HTTPError as e:\n     214\xe2\x94\x82                     raise UploadError(e)\n     215\xe2\x94\x82 \n   \xe2\x86\x92 216\xe2\x94\x82             raise UploadError(e)\n     217\xe2\x94\x82 \n     218\xe2\x94\x82     def _do_upload(\n
Run Code Online (Sandbox Code Playgroud)\n

我将本地存储库定义如下:

\n

诗歌配置 repositories.myrepo http://localhost:5151/simple

\n

\n

诗歌配置 http-basic.myrepo 用户密码

\n

我错过了什么?

\n

docker pypiserver python-poetry

6
推荐指数
1
解决办法
2131
查看次数

为 numpy 等库创建 Python Wheels

我们目前正在运行我们自己的私有 PyPi 服务器,并上传我们内部 Python 库的轮子以加快安装速度。

我们的许多工具都需要 numpy、scipy、pandas 等。

通过从源代码安装所有依赖项,然后使用,我们为所有依赖项构建了轮子

pip wheel .
Run Code Online (Sandbox Code Playgroud)

它为我们所有的依赖项输出轮子 - 或者我们是这么认为的。

我们发现,当我们从我们的私有 PyPi 安装 numpy 时,它可以作为轮子使用,会发生以下情况。

>>> import numpy
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "redacted/lib/python2.7/site-packages/numpy/__init__.py", line 199, in <module>
    from . import random
  File "redacted/site-packages/numpy/random/__init__.py", line 99, in <module>
    from .mtrand import *
ImportError: redacted/lib/python2.7/site-packages/numpy/random/mtrand.so: undefined symbol: PyFPE_jbuf
Run Code Online (Sandbox Code Playgroud)

我很清楚这些轮子没有正确创建。我不清楚的是如何解决这个问题。我们不会将这些分发给公众,仅用于我们的内部工具。

python numpy python-wheel pypiserver

5
推荐指数
1
解决办法
869
查看次数

如何在Azure或AWS中托管私有python包管理器

我在一个由Python开发人员组成的小团队中工作,我们的目标是创建一个私有的包管理器来存储我们的包.我来到了pypicloud,按照它的教程,我已经成功地上传并安装了存储在AWS-S3中的软件包.这太妙了.

但是,私有包管理器在本地启动并托管pserve server.ini在终端中.然后可以访问包管理器http://0.0.0.0:6543/#/.理想情况下,我希望此服务器为:

  • 托管在云端(可能是Azure,但AWS很好)
  • 全天候运行
  • 安全.用户必须进行身份验证才能查看包管理器和包.
  • 没有托管在一个操作系统但更高级别(例如docker容器或Azure功能应用程序?),因为它更容易维护,地理复制等

问题:如何在云中始终启动并运行安全的私有服务器(python包管理器)?

python azure pypi amazon-web-services pypiserver

4
推荐指数
1
解决办法
1181
查看次数

twine 在哪里寻找证书?

我有一个使用 https 设置的个人 Python 存储库,我可以使用以下命令上传到它:

twine upload <dist> -r <my_server> --cert <path/to/certfile>
Run Code Online (Sandbox Code Playgroud)

但是,我希望能够上传而无需显式指定 CA 证书位置。我相信我已将 CA 证书安装在系统的正确位置(使用 如何在 centos7 中添加证书颁发机构?作为指导,并使用 wget 进行验证),但我仍然需要调用原始路径。

如何让 twine 默认使用我的备用 CA 证书?

python centos7 pypiserver twine

4
推荐指数
1
解决办法
4218
查看次数

基本身份验证在 kubernetes ingress 中不起作用

我已经在 kubernetes 集群中创建了 pypiserver,我使用了https://hub.docker.com/r/pypiserver/pypiserver docker 镜像。我需要为我创建的服务器创建基本身份验证。我使用了这种方法https://kubernetes.github.io/ingress-nginx/examples/auth/basic/

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: pypiserver
  labels:
    app: pypiserver
  annotations:
    kubernetes.io/ingress.class: nginx
    kubernetes.io/tls-acme: 'true'
    ingress.kubernetes.io/auth-type: basic
    ingress.kubernetes.io/auth-secret: secret
    ingress.kubernetes.io/auth-realm: "Authentication Required - ok"
spec:
  rules:
  - host: example.com
    http:
      paths:
      - path: /
        backend:
          serviceName: pypiservice
          servicePort: 8080
  tls:
  - hosts:
    - example.com
    secretName: secret-tls
Run Code Online (Sandbox Code Playgroud)

但我的主机名是“www.example.com/8080”,并且我没有看到 ingress 在 kubernetes 集群中有任何 pod。Ingress 运行良好,但我没有获得该主机的身份验证。(而且我还有http://IP地址:8080,我通过cloudflare将其转换为域名)

请让我知道我做错了什么?

pypiserver kubernetes-ingress

2
推荐指数
1
解决办法
6468
查看次数

我的家没有 .pypirc 文件,这在将 python 包注册到 PyPI 时给我一个错误

我正在使用 ubuntu,我已经创建了一个 python 包,它已经准备好在 PyPI 上注册,但是当我使用python setup.py register它时显示如下错误:

Server response (410): This API is no longer supported, instead simply upload the file.
Run Code Online (Sandbox Code Playgroud)

我知道这是找不到 .pypirc 文件的错误,但我不知道如何解决这个问题,因为我家没有 .pypirc 文件。我们不能创建 pypirc 文件吗?(只是问一下)。当我在 virtualenv 中使用 register 命令时也有一个不同的错误,我得到这个:

Server response (410): Gone (This API has been deprecated and removed from legacy PyPI in favor of using the APIs available in the new PyPI.org implementation of PyPI (located at https://pypi.org/). For more information about migrating your use of this API to PyPI.org, please see …
Run Code Online (Sandbox Code Playgroud)

python ubuntu pypi pypiserver python-packaging

1
推荐指数
1
解决办法
3968
查看次数