【问题标题】:Disable authentication when uploading to local pypi server上传到本地 pypi 服务器时禁用身份验证
【发布时间】:2016-07-30 01:29:53
【问题描述】:

我正在使用pypiserver 启动本地服务器来托管和提供python 包,以便在沙箱内进行开发。是否可以禁用密码验证?文档here

目前仅支持受密码保护的上传!

但它还说:

即使上传也可以禁用身份验证。为避免懒惰的安全决策,请阅读 -P 和 -a 选项的帮助

如果该工具支持此类功能,我希望不必使用密码,因为这仅用于迭代开发。有谁知道这是否可能?

【问题讨论】:

    标签: python pip pypi pypiserver


    【解决方案1】:

    来自文档:https://pypi.python.org/pypi/pypiserver#detailed-usage

    -P, --passwords PASSWORD_FILE
       use apache htpasswd file PASSWORD_FILE to set usernames & passwords when
       authenticating certain actions (see -a option).
       If you want to allow un-authorized access, set this option and -a
       explicitly to empty (either '.' or'').
    

    基于此,您需要像这样启动服务器:

    ./pypi-server -p 8080 -P -a
    

    实际上我遇到了同样的问题,但我在 mod_wsgi 下运行它。你如何在那里禁用身份验证?

    【讨论】:

    • 对于 mod_wsgi,您可以在 .wsgi 脚本中指定 password_file = ""authenticated = ""
    【解决方案2】:

    我建议使用devpi-server。相关命令devpi 允许通过以下方式输入用户凭据 login 子命令。然后登录有效期为 10 小时,可以通过devpi logout 停止。

    devpi-server 还有其他不错的功能值得使用 - 例如。如果您上传的包裹包含 tox.ini,您可以拨打devpi test <packagename>,它会下载它,临时安装 virtualenv,在其中运行 tox 并将测试结果推送到 devpi 服务器。

    【讨论】:

    • 谢谢,但有没有办法完全禁用登录?如果我要设置密码,那么我可以把它放在我的pypirc 中并让它也适用于pypiserver
    • devpi-server 允许使用密码为空的用户帐户。无论如何,您都必须执行login,因为服务器应该知道谁在与它交谈。请注意,服务器仅对有限的命令集(推送、上传等)需要有效登录,而不是用于从其安装软件包等普通用途。
    猜你喜欢
    • 2016-05-16
    • 2020-11-24
    • 2021-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-20
    相关资源
    最近更新 更多