我想在这个库https://github.com/jupyter-incubator/sparkmagic#installation周围创建一个薄型包装器
正如您在链接中看到的,安装步骤需要
jupyter enable ...
或jupyter-kernelspec install
类型的命令我正在检查哪些选项可以使安装像调用脚本一样自动。到目前为止,这些命令都是由bash编写的。以这种方式,它可以处理一个简单的install.sh
,但是我可能会遇到问题,因为我不知道要使用哪个python二进制文件。如果用户想为python2或python3安装lib,除非他接触到脚本,否则他不能有这个选择。在
然后我尝试使用setup.py
并重写cmdclass
来插入自定义代码
from setuptools import setup
from setuptools.command.develop import develop
from setuptools.command.install import install
class PostDevelopCommand(develop):
"""Post-installation for development mode."""
def run(self):
develop.run(self)
print("do things")
class PostInstallCommand(install):
"""Post-installation for installation mode."""
def run(self):
install.run(self)
print("do things")
setup(
...
install_requires=['sparkmagic'],
cmdclass={
'develop': PostDevelopCommand,
'install': PostInstallCommand,
},
...
)
但是自定义打印只在运行python setup.py install
时起作用,而对pip install
不起作用
我想让这最后一个选择有效,但如果这不是做这种事情的正确模式,你能建议我走哪条路吗?在
问题不是直接与
pip install
有关,而是与车轮有关。打包为wheel的项目不能具有自定义安装步骤。例如,请参见discussion。由于pip喜欢使用控制盘,如果需要,可以在本地构建它们,因此在安装时不会运行自定义步骤。不过,可能有一些方法可以防止车轮踏步。在知道了这一点,你也许应该听从Jan Vlcinsky在评论中的建议,来回答这个问题:Post install script after installing a wheel。在
{{a3>添加你的项目。也许你更喜欢使用distutils ^{} feature 。
指示包的用户在安装包(
pip install myproject && myprojectconfigure
)后立即运行它。最后考虑提供
myprojectconfigure uninstall
。相关问题 更多 >
编程相关推荐