微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

根据用户安装的其他软件包,让`pip install <package>` 以编程方式安装不同版本的 <package>?

如何解决根据用户安装的其他软件包,让`pip install <package>` 以编程方式安装不同版本的 <package>?

我是一名 Python 软件包开发人员,希望将我的软件包分发给一些用户在这用户中,有的使用 JupyterLab 2.0,有的使用 JupyterLab 3.0。

我想知道是否可以更改某些设置(或 setup.py 中的代码),以便根据用户拥有的 JupyterLab 版本,在用户运行时安装不同版本的我的 pip install <package> {1}}。

例如:

  1. 用户 1 已安装 JupyterLab 2.0。当它们运行 pip install <package> 时,它会安装软件包版本 0.1.1
  2. 用户 2 已安装 JupyterLab 3.0。当它们运行 pip install <package> 时,它会安装软件包版本 0.2.1

感谢您提供任何信息!

解决方法

在您的 setup.py 中,您可以使用条件语句来检查当前版本(如下所示)并设置您要安装的正确安装版本

import jupyterlab
version = jupyterlab.__version__

if version.startswith("2"):
    install_version="0.0.1"
elif version.startswith("3"):
    install_version="0.0.2"

注意:不要忘记使用异常处理来检查是否至少安装了 jupyterlab

注意:如果它与 pip 一起使用,这将不起作用。这仅适用于源代码分发并使用 pip install setup.py

安装

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。