Я схожу с ума от этого. У меня есть небольшой скрипт, который просто говорит мне имя профиля firefox. Как я уже сказал, это всего лишь тест, просто для теста, как он работает, пока не начнется реальная работа. Нам нужно развернуть этот скрипт в пакет deb, чтобы установить его на всех клиентов нашей компании (ubuntu mate).Пакет скрипта Python в virtualenv в пакет Debian
Должен сказать, что это первый раз, когда я работаю с python, так что, возможно, setup.py тоже неверен. Я создал virtualenv в моей папке izenpe и установлен модуль с
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 для создания DEB пакетов из virtualenv, так что это мой конфиг:
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 создан правильно. Я послал этот файл через УПП на другой компьютер с установленной
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
Я что-то упустил? Любая помощь будет оценена по достоинству.