2016-12-28 11 views
0

私はこれに夢中になります。私は小さなスクリプトの魔女が私にファイアフォックスのプロフィール名を教えてくれるだけです。私はこれが単なるテストであると言っていたので、実際の仕事を始めるまでどのように動作するのですか?私たちが必要とするのは、このスクリプトをdebパッケージにデプロイして、会社のすべてのクライアント(ubuntu mate)にインストールすることです。Debianパッケージに入ったvirtualenvのPythonスクリプトをパッケージ

私はPythonで作業するのは初めてだと言わざるを得ないので、setup.pyも正しくないかもしれません。私は私のizenpeフォルダにvirtualenvのを作成し、これは私のフォルダ構造である

pip install mozprofile 

でモジュールをインストール:これは私の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() 

ある

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

そして、これがあります私の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"] 
    ) 

私はvirtualenvのからのdebパッケージを生成するには、このライブラリhttps://github.com/benjaminirving/python-debian-packaging-exampleを見つけたので、これは私の設定です:

の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パッケージが正しく作成されています。

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

それが正しくインストールされているようだが、私は起動時に:私は結果があるizenpemiddleware.pyを見つけI updatedb場合

dpkg -i izenpemiddleware_0.1_amd64.deb 

にインストールされている別のコンピュータにscpコマンドを経由して、このファイルを送信してスクリプトを見つけますスクリプトにエラーがあります:

[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'], 
    … 
関連する問題