gpt4 book ai didi

python - 将 virtualenv 中的 Python 脚本打包成 Debian 包

转载 作者:太空宇宙 更新时间:2023-11-04 12:37:08 28 4
gpt4 key购买 nike

我快被这个搞疯了。我有一个小脚本女巫简单地告诉我 firefox 配置文件名称。正如我所说,这只是一个测试,只是为了测试在开始真正的工作之前它是如何工作的。我们需要的是将这个脚本部署到一个 deb 包中,以便在我们公司(ubuntu mate)的所有客户端中安装它们。

我不得不说这是我第一次使用 python,所以 setup.py 可能也不正确。我在我的 izenpe 文件夹中创建了一个 virtualenv,并安装了一个模块

pip install mozprofile

这是我的文件夹结构:

izenpe/
- izenpemiddleware.py
- setup.py
- debian/
- compat
- control
- izenpemiddleware.triggers
- rule

这是我的 izenpemiddleware.py

import sys
import mozprofile

def main(args=None):
"The main routine."""
if args is None:
args = sys.argv[1:]
pro = mozprofile.Profile()

print "Perfila da:\n"
print "*************"
print pro.profile
print "*************"

if __name__ == "__main__":
main()

这是我的 setup.py(可以吗?):

#!/usr/bin/env python

from setuptools import setup
from setuptools import find_packages

Description = """/
izenpe
"""

# setup parameters
setup(name='izenpemiddleware',
version='0.1',
description='Mirefox-en izenpe middleware instalatu',
long_description=Description,
packages=find_packages(),
author_email='iibarguren@pasaia.net',
classifiers=["Programming Language :: Python :: 2.7",
"Development Status:: 1 - Alpha",
'Programming Language :: Python',
],
scripts=["izenpemiddleware.py"]
)

我找到了这个图书馆 https://github.com/benjaminirving/python-debian-packaging-example从 virtualenv 生成 deb 包,所以这是我的配置:

debian/控制:

Source: izenpe
Section: python
Priority: extra
Build-Depends: debhelper (>= 9), python, dh-virtualenv, python-all-dev
Standards-Version: 3.9.5

Package: izenpemiddleware
Architecture: any
Pre-Depends: dpkg (>= 1.16.1), python2.7-minimal, ${misc:Pre-Depends}
Depends: ${python:Depends}, ${misc:Depends}, python-pyside, python-numpy
Description: Izenpe ziurtagiriak Firefox-entzat instalatu.

debian/firefoxmiddleware.triggers

# Register interest in Python interpreter changes (Python 2 for now); and
# don't make the Python package dependent on the virtualenv package
# processing (noawait)
interest-noawait /usr/bin/python2.7

# Also provide a symbolic trigger for all dh-virtualenv packages
interest dh-virtualenv-interpreter-update

debian/规则:

#!/usr/bin/make -f
%:
dh $@ --with python-virtualenv

override_dh_virtualenv:
dh_virtualenv --setuptools \
--extra-pip-arg --ignore-installed \
--extra-pip-arg --no-dependencies \
--use-system-packag

之后我用这个命令生成了一个 deb 包:

sudo dpkg-buildpackage -us -uc -b 

Debian 软件包已正确创建。我通过 scp 将此文件发送到另一台安装了

的计算机
dpkg -i izenpemiddleware_0.1_amd64.deb

如果我 updatedb 并使用 locate izenpemiddleware.py 找到脚本,结果是:

/usr/share/python/izenpemiddleware/bin/izenpemiddleware.py

似乎安装正确,但是当我启动脚本时出现错误:

root@portatil-001:~# python /usr/share/python/izenpemiddleware/bin/izenpemiddleware.py
Traceback (most recent call last):
File "/usr/share/python/izenpemiddleware/bin/izenpemiddleware.py", line 2, in <module>
import mozprofile
ImportError: No module named mozprofile

我错过了什么吗?任何帮助将不胜感激。

最佳答案

您的 setup.py 需要说明其 install_requires

setup(…
install_requires=['mozprofile'],

关于python - 将 virtualenv 中的 Python 脚本打包成 Debian 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41357535/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com