我可以做些什么来加速使用 dh-virtualenv 的 deb pkg 构建?
What can I do to speed up deb pkg building with dh-virtualenv?
我正在寻找加速从我的 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支持本地缓存wheel包(从工单copy&paste):
#!/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 和库。
如果构建依赖项是瓶颈,请尝试升级到最新版本的 pip。更高版本将 pre-built 包存储在本地 wheel 缓存中,使后续构建速度更快。
如果下载包需要很长时间,您应该copy your dependencies to a local folder on your build-server。确保将包复制到文件系统上的本地文件夹。虽然 pip 支持通过 --find-links=http://your-local-package-host/
访问,但收集依赖项仍然相当缓慢,除非您为包主机设置 https 和适当的缓存 headers。
如果安装应用程序本身需要很长时间(在 "Processing /some/folder" 之后挂起),那么您遇到的是 slow copy pip installation issue。您可以尝试通过在 dh-virtualenv.
中将 pip install .
替换为 python setup.py sdist
和 pip install dist/my-shiny-app-1.0.tar.gz
来解决这个问题
我正在寻找加速从我的 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支持本地缓存wheel包(从工单copy&paste):
#!/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 和库。
如果构建依赖项是瓶颈,请尝试升级到最新版本的 pip。更高版本将 pre-built 包存储在本地 wheel 缓存中,使后续构建速度更快。
如果下载包需要很长时间,您应该copy your dependencies to a local folder on your build-server。确保将包复制到文件系统上的本地文件夹。虽然 pip 支持通过 --find-links=http://your-local-package-host/
访问,但收集依赖项仍然相当缓慢,除非您为包主机设置 https 和适当的缓存 headers。
如果安装应用程序本身需要很长时间(在 "Processing /some/folder" 之后挂起),那么您遇到的是 slow copy pip installation issue。您可以尝试通过在 dh-virtualenv.
中将pip install .
替换为 python setup.py sdist
和 pip install dist/my-shiny-app-1.0.tar.gz
来解决这个问题