在Python脚本中检查包是否安装的好方法是什么?我知道解释器很容易,但是我需要在脚本中完成它.
我想我可以检查系统中是否有安装过程中创建的目录,但我觉得有更好的方法.我正在尝试确保安装了Skype4Py软件包,如果没有,我会安装它.
我完成检查的想法
如何在pip需求文件中指定可选依赖项?根据pip文档,这是可能的,但文档没有解释如何做到这一点,我在网上找不到任何示例.
我试图理解setup.py 之间extras_require()
和之间的区别,install_requires()
但无法得到它.两者都用于安装Python依赖项,但它们之间的区别是什么?
我们为工作中的各种代码保留了一个python库.它是一种分享代码,只实现一次,保持一致等的好方法.它的一部分取决于外部库,并且有一些对此有所影响,其中没有一种感觉正确.
一种解决方案是将整个外部库包含在我们的库中.争论的焦点是外部库的版本可以被控制,但这增加了一堆代码,很难看并且感觉不到pythonic.
try import
如果导入失败,另一个解决方案是打印错误.这感觉很好,是pep8,但是我们的库有很多种模块,你经常需要它的一部分,而不是另一部分.使用此解决方案,您会在不影响您的情况下看到错误.有抱怨.
try:
import zmq
import simplejson
except:
print "Install zmq and simplejson to use the LiveFeedSubscription()."
Run Code Online (Sandbox Code Playgroud)
我提议try imports
加入Class __init__
(解决上面的问题),但它不是pep8; 并且可以说更难以分辨出依赖关系是什么,因为它们没有被导入模块的顶部.
def __init__(self, msg_type='', msg_types=[], debug=False):
try:
import zmq
import simplejson
except:
print "Install zmq and simplejson to use the LiveFeedSubscription()."
Run Code Online (Sandbox Code Playgroud)
将外部库包含在具有如此大的不同模块的库中的python最佳实践是什么?
我正在使用一些 github django 包的前沿版本,这些版本具有我不想安装的依赖项。
在开发中,在我自己的计算机上,我可以pip install
在命令行中使用并使用--no-dependencies
标志。但是,我的测试和生产环境需要一个用于部署目的的需求文件。不幸的是,该--no-dependencies
标志不能在需求文件中使用,如下所述:https : //pip.pypa.io/en/latest/reference/pip_install.html#requirements-file-format。
有没有办法告诉 pip 在使用需求文件时不要安装依赖项?