2015-11-04 114 views
3

我想为我的python程序创建.deb包。我创建了setup.py,它运行良好,但是当我想要使用setup.pystdeb创建debian程序包时,出现错误。由python setup.py创建.deb包

我用它来创建命令.deb文件:

第一:

python3.4 setup.py sdist 

则:

python3.4 setup.py --command-packages=stdeb.command bdist_deb 

,但得到的错误

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 

我使用这些选项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'] 

和我的项目目录是这样的:

| setup.py 
|- myapp 
     | __init__.py 
     |- classes 
        | __init.py 
        | ... 
     | ... 
     | myapp_run.py 
     | myapp.conf 
+0

不是直接回答你的问题,但是这可能是使用DH-virtualenv中的另一种方式而不是stddeb:http://blog.birving.com/2015/10/creating-debian-application-from-python.html – benj

回答

0

退房debpackager,其创造的deb包的任何项目,包括Python项目的CLI工具。