我有一个requirements.txt
文件,其中列出了我的虚拟环境所需的软件包。是否有可能找出文件中提到的所有软件包是否都存在。如果缺少某些软件包,如何找出丢失的软件包?
更新 :
进行更新和改进的方法是通过distutils.text_file.TextFile
。有关详细信息,请参见下面的Acumenus答案。
原文 :
这样做的pythonic方法是通过pkg_resources
API。要求以setuptools可以理解的格式编写。例如:
Werkzeug>=0.6.1
Flask
Django>=1.3
示例代码:
import pkg_resources
from pkg_resources import DistributionNotFound, VersionConflict
# dependencies can be any iterable with strings,
# e.g. file line-by-line iterator
dependencies = [
'Werkzeug>=0.6.1',
'Flask>=0.9',
]
# here, if a dependency is not met, a DistributionNotFound or VersionConflict
# exception is thrown.
pkg_resources.require(dependencies)
问题内容: 我想在ORACLE中编写一个选择查询,该查询仅在条件存在的情况下给出的所有值都将返回记录。例如 现在,我想编写此查询,以便仅在所有3个empid存在时才返回值。它将类似于AND条件,即empid = 7521和empid = 7566以及empid =7698。如果不存在任何一个值,则此查询不应获取任何行。 问题答案: Lukas版本的扩展,您只需编写一次ID: 在这些情况下,我总是会
问题内容: 检查软件包是否在Python脚本中安装的好方法是什么?我知道从解释器很容易,但是我需要在脚本中完成。 我想我可以检查安装过程中在系统上是否创建了目录,但是我觉得有更好的方法。我试图确保已安装Skype4Py软件包,如果没有,我将安装它。 我完成支票的想法 检查典型安装路径中的目录 尝试导入软件包,如果抛出异常,则安装软件包 问题答案: 如果您的意思是python脚本,请执行以下操作:
是否有一种简单的方法来确保返回的所有值都为真?在下面的示例中,我有一组表示文件的对象。在继续之前,我想确保所有源文件都存在。我将所有路径传递到测试路径,函数为每个文件返回True/False。 我如何检查所有返回值都是真的?
问题内容: 检查Centos / Redhat中安装的软件包列表的Python方式? 在bash脚本中,我将执行以下操作: 问题答案: TransactionSet()将打开RPM数据库 没有参数的dbMatch将设置一个匹配迭代器以遍历整套已安装的软件包,您可以在匹配迭代器上调用next来获取下一个条目,即代表一个软件包的标头对象 dbMatch也可以用于查询特定的程序包,您需要传递标签的名称以
问题内容: 我需要以下功能: 输入: 输出: 如果输入列表中的所有元素使用标准相等运算符求值彼此相等; 除此以外。 性能:当然,我不希望产生任何不必要的开销。 我觉得最好: 遍历列表 比较相邻元素 和AND所有结果布尔值 但我不确定最Pythonic的方法是什么。 问题答案: 通用方法: 单线: 也是单线的: 这三个版本之间的区别在于: 在内容中必须是可哈希的。 并且可以使用任何迭代器,但chec
问题内容: Swift中是否有一个函数可以检查数组的所有元素是否具有相同的值?就我而言,它是一个type数组。我知道我可以使用一个简单的for循环对其进行迭代,我只是想知道是否内置了某些东西并且速度更快。 问题答案: 任何方法都必须遍历所有元素,直到找到另一个元素: 可以使用以下函数来代替显式循环: 如果数组元素是(例如),则可以从数组元素创建一个(从Swift 1.2开始可用),并检查它是否恰好