2016-12-28 81 views
0

我對此很瘋狂。我有一個小腳本女巫只是告訴我的Firefox的配置文件名稱。正如我所說,這只是一個測試,只是爲了測試它如何工作,直到開始真正的工作。我們需要的是將這個腳本部署到一個deb包中,以便將它們安裝到我們公司的所有客戶端(ubuntu mate)中。將virtualenv中的Python腳本包裝到Debian包中

我不得不說這是我第一次使用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='[email protected]', 
     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 [email protected] --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,並找到腳本定位izenpemiddleware.py結果是:

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

似乎被正確安裝,但是當我啓動腳本我有一個錯誤:

[email protected]:~# 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 

我錯過了什麼嗎?任何幫助將不勝感激。

回答

0

你的setup.py需要聲明它的install_requires

setup(… 
    install_requires=['mozprofile'], 
    …