通过 python setup.py 创建 .deb 包

Foa*_*ebi 7 python deb python-3.4

我想.deb为我的 python 程序创建包。我创建setup.py和它工作得很好,但是当我想用创建一个Debian软件包setup.pystdeb我得到一个错误。

我用来创建 .deb 的命令:

第一的:

python3.4 setup.py sdist
Run Code Online (Sandbox Code Playgroud)

然后:

python3.4 setup.py --command-packages=stdeb.command bdist_deb
Run Code Online (Sandbox Code Playgroud)

但得到错误

dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied;  aborting
dpkg-buildpackage: warning: (Use -d flag to override.)

Traceback (most recent call last):
File "setup.py", line 19, in <module>
install_requires=['setproctitle', 'psycopg2', 'psutil']
File "/usr/lib/python3.4/distutils/core.py", line 148, in setup
dist.run_commands()
File "/usr/lib/python3.4/distutils/dist.py", line 955, in run_commands
self.run_command(cmd)
File "/usr/lib/python3.4/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/usr/local/lib/python3.4/dist-packages/stdeb/command/bdist_deb.py", line 48, in run
util.process_command(syscmd,cwd=target_dirs[0])
File "/usr/local/lib/python3.4/dist-packages/stdeb/util.py", line 183, in process_command
check_call(args, cwd=cwd)
File "/usr/local/lib/python3.4/dist-packages/stdeb/util.py", line 46, in check_call
raise CalledProcessError(retcode)
stdeb.util.CalledProcessError: 3
Run Code Online (Sandbox Code Playgroud)

我在 setup.py 中使用这些选项:

packages=['myapp', 'myapp.models', 'myapp.classes', 'myapp.functions'],
package_data={'': ['myapp.conf']},
data_files=[('/usr/local/bin/', ['myapp/myapp_run.py']),
            ('/usr/local/etc/myapp', ['myapp/myapp.conf'])],
install_requires=['setproctitle', 'psycopg2', 'psutil']
Run Code Online (Sandbox Code Playgroud)

我的项目目录是这样的:

|  setup.py
|- myapp 
        |  __init__.py
        |- classes
                  | __init.py
                  | ...
        | ...
        | myapp_run.py
        | myapp.conf
Run Code Online (Sandbox Code Playgroud)

小智 5

首先尝试运行这个: apt-get install python3-stdeb fakeroot python-all

其次是:

python3.4 setup.py sdist
Run Code Online (Sandbox Code Playgroud)

参考链接:使用stdb为Python包制作Debian包

  • 对我来说,这只是制作了源代码的 tar.gz 。要制作一个可安装的 deb 包,这对我有用: sudo python3 setup.py --command-packages=stdeb.command bdist_deb (4认同)

Urb*_*n48 0

check out debpackager,它是一个 cli 工具,用于从任何项目(包括 python 项目)创建 deb 包。