2016-12-28 2 views
0

나는 이것에 미쳐 갈 것입니다. 나는 작은 스크립트 마녀에게 파이어 폭스 프로파일 이름을 알려주고있다. 이 테스트는 단지 테스트 일 뿐이므로 실제 작업을 시작할 때까지 어떻게 작동합니까? 이 스크립트를 deb 패키지에 배포하여 회사의 모든 클라이언트 (우분투 메이트)에 설치해야합니다.virtualenv의 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을 발견, 그래서 이것은 내 설정이다 :

데비안/제어 :

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. 

데비안/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 

데비안/규칙 :

#!/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 

패키지 :

sudo dpkg-buildpackage -us -uc -b 

데비안 패키지가 올바르게 작성되었습니다. 내가 시작할 때

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

이 제대로 설치되어 보이지만 : I updatedb과 함께 스크립트를 찾을 수는 결과가 izenpemiddleware.py을 찾으면 내가

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'], 
    …