Python 3.5.1:如何检查openpyxl包是否存在,如果不存在,如何在脚本中下载并安装它?

2024-04-25 05:22:10 发布

您现在位置:Python中文网/ 问答频道 /正文

两周前我开始编写python代码,直到现在,我已经在将一些excel数据转换成txt文件后对其进行了操作。现在,我想直接操作excel数据,所以我需要安装openpyxl包。但是,我的脚本将在许多不同的地方和计算机上使用(注意:所有这些计算机都使用OS X或Linux发行版),它们可能(可能不)包含安装的openpyxl包。我想让我的脚本检查这个包是否存在,如果它不存在,那么下载并安装它。

为此,当我搜索并发现可以通过首先导入pip模块,然后导入pip.get_installed_distributions()方法来检查包的存在性时。但是,我不确定我是不是走错了路。此外,我不知道如何下载和安装openpyxl包“不离开脚本”。

你愿意帮我吗?


Tags: 模块pipinstalled文件数据代码txt脚本
1条回答
网友
1楼 · 发布于 2024-04-25 05:22:10

当您没有要部署的软件时,通过尝试解决部署问题,您可以超越自己。

让一个脚本尝试管理它自己的部署通常是一个坏主意,因为它将责任从包管理器转移开。

以下是我对你问题的回答:

  1. 在所有软件包都已正确安装/部署的前提下构建您的软件。我建议您在开发计算机上创建一个virtualenv(虚拟环境),使用pip安装openpyxl和您需要的任何其他包。
  2. 一旦您的软件已经构建并运行,请阅读如何将您的软件包部署到PyPi:https://pypi.python.org/pypi。通过将openpyxl定义为依赖项来创建包,确保包可以正确安装/运行(我建议添加测试),然后部署到PyPi,以便任何人都可以使用您的软件。

如果您想在脚本中添加一个很好的验证层,以防,请在main方法中添加以下内容:

#!/usr/bin/env python3
import sys
try:
    import openpyxl
except ImportError as iE:
    print("Python Excel module 'openpyxl' not found")
    sys.exit(1)

... rest of script ...

相关问题 更多 >