python setup.py install (in that case python setup.py build is implicit)
要检查是否安装了*nix命令,可以在设置.py像这样:
from distutils.core import setup
from distutils.command.build import build as _build
class build(_build):
description = "Custom Build Process"
user_options= _build.user_options[:]
# You can also define extra options like this :
#user_options.extend([('opt=', None, 'Name of optionnal option')])
def initialize_options(self):
# Initialize here you're extra options... Not needed in your case
#self.opt = None
_build.initialize_options(self)
def finalize_options(self):
# Finalize your options, you can modify value
if self.opt is None :
self.opt = "default value"
_build.finalize_options(self)
def run(self):
# Extra Check
# Enter your code here to verify if the *nix command is present
.................
# Start "classic" Build command
_build.run(self)
setup(
....
# Don't forget to register your custom build command
cmdclass = {'build' : build},
....
)
我根本没有支票。说明您的库需要此命令,如果用户试图使用库中需要它的任何部分,则运行该命令的任何部分都将引发异常。即使只提供了一部分功能,仍然可以导入并使用库。在
(PS:
commands
已旧且已损坏,不应在新代码中使用。subprocess
是热门的新事物。)在我看来,最好的方法是在安装时检查用户是否有这个特定的*nix命令。在
如果要使用distutils分发包,要安装它,必须执行以下操作:
或者干脆
要检查是否安装了*nix命令,可以在设置.py像这样:
但是,如果用户在安装软件包后卸载了所需的命令,该怎么办?要解决这个问题,唯一“好”的解决方案是使用诸如deb或rpm之类的打包系统,并在命令和包之间设置依赖关系。在
希望这有帮助
相关问题 更多 >
编程相关推荐