我正在寻找加速从我的python应用程序构建deb pkg的技术:
Source: my-shiny-app
Section: python
Priority: extra
Maintainer: me <me_write_me@me.com>
Build-Depends: debhelper (>= 9), python, dh-virtualenv (>= 0.6-1)
Standards-Version: 3.9.5
Package: my-shiny-app
Architecture: amd64
Pre-Depends: dpkg (>= 1.16.1), python2.7, ${misc:Pre-Depends}
Depends: ${python:Depends}, ${misc:Depends}, libzmq1
Description: my-app
大部分时间都需要构建我的应用程序所依赖的python库。
更新:
我找到了a ticket in dh-virtualenv github。他们建议使用pip7。 Pip7支持轮包的本地缓存(从票证中复制和粘贴):
#!/usr/bin/make -f
%:
dh $@ --with python-virtualenv
WHEEL_ROOT:= file:///var/wheelhouse
override_dh_virtualenv:
pip wheel -w=$(WHEEL_ROOT) -f $(WHEEL_ROOT) -r requirements.txt
dh_virtualenv \
--extra-pip-arg "--use-wheel" \
--extra-pip-arg "--find-links=$(WHEEL_ROOT)"
问题是:创建的deb包不包含python和库。
答案 0 :(得分:2)
如果构建依赖项是瓶颈,请尝试升级到最新版本的pip。更高版本将预构建的软件包存储在本地轮式缓存中,使后续构建更快。
如果下载程序包需要很长时间,则应copy your dependencies to a local folder on your build-server。确保将包复制到文件系统上的本地文件夹。虽然pip支持通过--find-links=http://your-local-package-host/
进行访问,但除非您设置https&amp;包主机的正确缓存标头。
如果安装应用程序本身需要很长时间(在“处理/某些/文件夹”之后挂起),那么您将遇到slow copy pip installation issue。您可以尝试在dh-virtualenv中将pip install .
替换为python setup.py sdist
和pip install dist/my-shiny-app-1.0.tar.gz
来解决此问题。