Fehler beim install von PyGTK mit setuptools in virtualenv

Programmierung für GNOME und GTK+, GUI-Erstellung mit Glade.
Antworten
shoening
User
Beiträge: 19
Registriert: Donnerstag 20. Oktober 2011, 19:28

Hallo,

ich moechte mir eine separierte Umgebung mittels virtualenv einrichten, um da ein Projekt mit PyGTK zu entwickeln.

Das ganze laeuft unter Debian Gnu Linux 6.0. Python is 2.6.6. Virtualenv ist (laut debian package management 1.4.9).

Innerhalb der virtuellen Umgebung habe ich folgendes setup.py script.

Code: Alles auswählen

from setuptools import setup, find_packages

setup(name='testproject',
      version='0.1.0',
      description='a test project.',
      long_description="""\
""",
      # Get more strings from http://www.python.org/pypi?%3Aaction=list_classifiers
      classifiers=[
        "Programming Language :: Python",
        ],
      keywords='test project',
      author='Me',
      author_email='me@mail.com',
      url='',
      license='GPL',
      packages=find_packages(exclude=['ez_setup']),
      namespace_packages=[],
      test_suite='nose.collector',
      test_requires=['Nose'],  
      zip_safe=False,
      py_modules=['distribute_setup'],
      install_requires=[
          'setuptools',
          'PyGTK'
          # -*- Extra requirements: -*-
      ],
      entry_points="""
      # -*- Entry points: -*-
      """,
      )
Das ausfuehren von

Code: Alles auswählen

python setup.py develop
fuehrt aber immer zu einem Fehler:

Code: Alles auswählen

...
Best match: pygtk 2.24.0
Downloading http://pypi.python.org/packages/source/P/PyGTK/pygtk-2.24.0.tar.bz2#md5=a1051d5794fd7696d3c1af6422d17a49
Processing pygtk-2.24.0.tar.bz2
Running pygtk-2.24.0/setup.py -q bdist_egg --dist-dir /tmp/easy_install-iE90AR/pygtk-2.24.0/egg-dist-tmp-6kCiSE
error: Setup script exited with ********************************************************************
* Building PyGTK using distutils is only supported on windows. *
* To build PyGTK in a supported way, read the INSTALL file.    *
********************************************************************
As dem INSTALL file bin ich auch nicht schlauer geworden.

Ist die Methode ueber setuptools nicht richtig, um sich PyGTK zu installieren?

Danke schon mal fuer Eure Hilfe
Ciao
Stefan
deets

Augenscheinlich nicht.

PyGTK ist doch bestimmt bei deiner Distribution dabei - nimm doch einfach das.
shoening
User
Beiträge: 19
Registriert: Donnerstag 20. Oktober 2011, 19:28

Hi,

in der Distribution (Debian 6) ist das ja verfuegbar - aber in der virtuellen Umgebung nicht sichtbar.
(dafuer ist die ja da :)

Ich will natuerlich ueber setuptools auch kontrollieren, welche Version von welchen bibliotheken ich einbinden.
Und diese koennen logischerweise von denen, die mir Debian anbietet, abweichen.

Wenn virtualenv und PyGTK generell nicht zusammen funktionieren, wuerde mir ja auch ein Tip helfen, wie ich die uebers
Betriebssystem installierten pygtk libs in der virtuellen Umgebung sichtbar mache.

Ciao
Stefan
deets

virtualenv versteckt doch keine System-Packages - es sei denn, du bittest es darum, mit --no-site-packages.

Ob's noch nen anderen Trick gibt - KA. Google hilft vielleicht. Ansonsten kannst du natuerlich auch den sys.path so modifizieren, dass du dann doch an die PyGTK-Pakete kommst.
shoening
User
Beiträge: 19
Registriert: Donnerstag 20. Oktober 2011, 19:28

Hi deets,

verstecken nicht, aber wenn pygtk noch nicht da war, fehlt das halt.

ich habe mir die virtuelle Umgebung jetzt mit

Code: Alles auswählen

virtualenv --clean --setuptools .
neu erstellt.

Mich wuerde aber trotzdem interessieren, wie ich das packetieren muss, damit ein easy_install meines pakets dann automatisch auch pygtk installiert. (denn pygtk ist ja keine python standard bibliothek - zumindest bei 2.6).

Ciao
Stefan
deets

Kannst du nicht - wenn PyGTK so nicht installierbar ist. Du kannst allerdings ein deb/rpm-Paket bauen. Wenn moeglich sollte das alle Abhaengigkeiten in Form anderer Pakete enthalten. Wenn das nicht geht, weil du Drittpakete in Versionen brauchst, die das OS nicht oder falsch versioniert mitbringt, dann kannst du auch das ganze venv mit-paketieren. Aber PyGTK muss DEB-dependency sein.
lunar

@shoening: Falls es darum geht, pygtk als Abhängigkeit in Deiner setup.py anzugeben, so hast Du einfach Pech gehabt. Nicht jede Bibliothek ist im Package-Index vorhanden, pygtk (und allgemein alle Anbindungen aus diesem Umfeld) beispielsweise nicht.

Falls es dagegen nur darum geht, pygtk in einem virtualenv zu installieren, so kannst Du pygtk auch einfach manuell innerhalb dieses virtualenvs kompilieren.
Antworten