Python 3.2 Module unter Windows installieren

Probleme bei der Installation?
Antworten
Benutzeravatar
Judge
User
Beiträge: 129
Registriert: Mittwoch 13. Juni 2012, 22:27
Wohnort: Ratingen
Kontaktdaten:

Hallo zusammen,

ich bin hier im Forum neu, kenne mich aber mit den Netiquetten soweit aus - darunter natürlich die "Benutz gefälligst die Suchfunktion" - Regel usw.

Das wollte ich auch tun, jedoch muss ich sagen, das ich mit der Suchfunktion hier im Forum nicht wirklich Happy bin: Ich suche Hilfe zum "Module unter Windows installieren", und bekomme das:

Code: Alles auswählen

Die folgenden Wörter deiner Suchanfrage wurden ignoriert, da sie zu häufig vorkommen: windows modul.
Du musst mindestens ein Wort angeben, nach dem gesucht werden soll. Jedes Wort muss aus mindestens 3 Buchstaben bestehen und darf ohne Platzhalter nicht mehr als 14 Buchstaben haben.
Prima - wie soll man da suchen? O.O

Daher bleibt mir leider nicht viel übrig als meine Frage hier zu stellen, auch auf die Gefahr hin das sie schon 1000x gestellt wurde (ich konnte auch beim manuellen browsen nicht wirklich was finden).

Ich lerne Python noch und bin nun an einer Stelle, wo ich gerne ein Modul installieren möchte. Um genau zu sein: py3dns. Ich verwende das ganz normale Python 3.2 Paket von python.org; kein ActiveState oder ähnliches (sollte es damit gehen, bin ich aber gerne bereit zu wechseln!).
Ich habe unter Linux "wie immer" keine Probleme, nur auf meiner Entwicklungsmaschine (Win7, 64bit aber 32bit Python 3.2) klappt es einfach nicht. Ich habe bei der Webrecherche dazu die folgenden zwei Wege gefunden (die Konsole dazu habe ich bei beiden mit Admin-Rechten gestartet):

1) "setup.py install" im entpackten Paket ausführen
2) "easy_install http://..../py3dns-3.0.2.tar.gz" ausführen

Python 3.2 und das passende easy_install sind im Path und werden auch gefunden. Leider schlägt das aber beides mit einer Fehlermeldung fehl , die mir als Neuling nichts sagt:

1)

Code: Alles auswählen

C:\Users\mr\Downloads\py3dns-3.0.2.tar\py3dns-3.0.2\py3dns-3.0.2>setup.py install
Traceback (most recent call last):
  File "C:\Users\mr\Downloads\py3dns-3.0.2.tar\py3dns-3.0.2\py3dns-3.0.2\setup.py", line 11, in <module>
    import DNS
  File "C:\Users\mr\Downloads\py3dns-3.0.2.tar\py3dns-3.0.2\py3dns-3.0.2\DNS\__init__.py", line 19, in <module>
    from .Base import DnsRequest
  File "C:\Users\mr\Downloads\py3dns-3.0.2.tar\py3dns-3.0.2\py3dns-3.0.2\DNS\Base.py", line 42, in <module>
    from . import Lib
  File "C:\Users\mr\Downloads\py3dns-3.0.2.tar\py3dns-3.0.2\py3dns-3.0.2\DNS\Lib.py", line 46, in <module>
    from socket import inet_ntoa, inet_aton, inet_ntop, AF_INET6
ImportError: cannot import name inet_ntop

C:\Users\mr\Downloads\py3dns-3.0.2.tar\py3dns-3.0.2\py3dns-3.0.2>
2)

Code: Alles auswählen

C:\Users\mr\Downloads\py3dns-3.0.2.tar\py3dns-3.0.2\py3dns-3.0.2>easy_install.exe "http://downloads.sourceforge.net/project/pydns/py3dns/py3dns-3.0.2.tar.gz?r=http
%3A%2F%2Fsourceforge.net%2Fprojects%2Fpydns%2F&ts=1339675454&use_mirror=switch"
Downloading http://downloads.sourceforge.net/project/pydns/py3dns/py3dns-3.0.2.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fpydns%2F&ts=1339675454&use_mirror
=switch
Processing py3dns-3.0.2.tar.gz
Running py3dns-3.0.2\setup.py -q bdist_egg --dist-dir c:\users\mr\appdata\local\temp\easy_install-ko5npx\py3dns-3.0.2\egg-dist-tmp-v5c304
Traceback (most recent call last):
  File "C:\Python\32\Scripts\easy_install-script.py", line 9, in <module>
    load_entry_point('distribute==0.6.24', 'console_scripts', 'easy_install')()
  File "C:\Python\32\lib\site-packages\distribute-0.6.24-py3.2.egg\setuptools\command\easy_install.py", line 1883, in main
    with_ei_usage(lambda:
  File "C:\Python\32\lib\site-packages\distribute-0.6.24-py3.2.egg\setuptools\command\easy_install.py", line 1864, in with_ei_usage
    return f()
  File "C:\Python\32\lib\site-packages\distribute-0.6.24-py3.2.egg\setuptools\command\easy_install.py", line 1887, in <lambda>
    distclass=DistributionWithoutHelpCommands, **kw
  File "C:\Python\32\lib\distutils\core.py", line 148, in setup
    dist.run_commands()
  File "C:\Python\32\lib\distutils\dist.py", line 917, in run_commands
    self.run_command(cmd)
  File "C:\Python\32\lib\distutils\dist.py", line 936, in run_command
    cmd_obj.run()
  File "C:\Python\32\lib\site-packages\distribute-0.6.24-py3.2.egg\setuptools\command\easy_install.py", line 349, in run
    self.easy_install(spec, not self.no_deps)
  File "C:\Python\32\lib\site-packages\distribute-0.6.24-py3.2.egg\setuptools\command\easy_install.py", line 564, in easy_install
    return self.install_item(None, download, tmpdir, deps, True)
  File "C:\Python\32\lib\site-packages\distribute-0.6.24-py3.2.egg\setuptools\command\easy_install.py", line 619, in install_item
    dists = self.install_eggs(spec, download, tmpdir)
  File "C:\Python\32\lib\site-packages\distribute-0.6.24-py3.2.egg\setuptools\command\easy_install.py", line 809, in install_eggs
    return self.build_and_install(setup_script, setup_base)
  File "C:\Python\32\lib\site-packages\distribute-0.6.24-py3.2.egg\setuptools\command\easy_install.py", line 1086, in build_and_install
    self.run_setup(setup_script, setup_base, args)
  File "C:\Python\32\lib\site-packages\distribute-0.6.24-py3.2.egg\setuptools\command\easy_install.py", line 1075, in run_setup
    run_setup(setup_script, args)
  File "C:\Python\32\lib\site-packages\distribute-0.6.24-py3.2.egg\setuptools\sandbox.py", line 31, in run_setup
    lambda: exec(compile(open(
  File "C:\Python\32\lib\site-packages\distribute-0.6.24-py3.2.egg\setuptools\sandbox.py", line 73, in run
    return func()
  File "C:\Python\32\lib\site-packages\distribute-0.6.24-py3.2.egg\setuptools\sandbox.py", line 34, in <lambda>
    {'__file__':setup_script, '__name__':'__main__'})
  File "setup.py", line 11, in <module>
    import DNS
  File "c:\users\mr\appdata\local\temp\easy_install-ko5npx\py3dns-3.0.2\DNS\__init__.py", line 19, in <module>
  File "c:\users\mr\appdata\local\temp\easy_install-ko5npx\py3dns-3.0.2\DNS\Base.py", line 42, in <module>
  File "c:\users\mr\appdata\local\temp\easy_install-ko5npx\py3dns-3.0.2\DNS\Lib.py", line 46, in <module>
ImportError: cannot import name inet_ntop

C:\Users\mr\Downloads\py3dns-3.0.2.tar\py3dns-3.0.2\py3dns-3.0.2>
Was mache ich falsch? :P

Vielen Dank schonmal für Eure Hilfe!
Benutzeravatar
/me
User
Beiträge: 3555
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

Judge hat geschrieben:

Code: Alles auswählen

C:\Users\mr\Downloads\py3dns-3.0.2.tar\py3dns-3.0.2\py3dns-3.0.2>setup.py install
Traceback (most recent call last):
  File "C:\Users\mr\Downloads\py3dns-3.0.2.tar\py3dns-3.0.2\py3dns-3.0.2\setup.py", line 11, in <module>
    import DNS
  File "C:\Users\mr\Downloads\py3dns-3.0.2.tar\py3dns-3.0.2\py3dns-3.0.2\DNS\__init__.py", line 19, in <module>
    from .Base import DnsRequest
  File "C:\Users\mr\Downloads\py3dns-3.0.2.tar\py3dns-3.0.2\py3dns-3.0.2\DNS\Base.py", line 42, in <module>
    from . import Lib
  File "C:\Users\mr\Downloads\py3dns-3.0.2.tar\py3dns-3.0.2\py3dns-3.0.2\DNS\Lib.py", line 46, in <module>
    from socket import inet_ntoa, inet_aton, inet_ntop, AF_INET6
ImportError: cannot import name inet_ntop
Die Dokumentation zu socket.inet_ntop sagt mir, dass diese Funktion nur auf unixoiden Systemen vorhanden ist.
Benutzeravatar
Judge
User
Beiträge: 129
Registriert: Mittwoch 13. Juni 2012, 22:27
Wohnort: Ratingen
Kontaktdaten:

Gnaaaaahr ... OK, danke! ~:P
Habe ich das denn ansonsten richtig gemacht? Sollte auf beide arten funktionieren, WENN das Modul kompatibel wäre, oder?

Da schließen sich mir 2 Fragen an:

1)
Wie entwickelt man denn dann gescheit unter Windows, wenn ein Modul nicht kompatibel ist?

2)
Kann man irgendwie erkennen (außer durch so eine Meldung) ob etwas für Windows kompatibel ist?
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Judge hat geschrieben:1)
Wie entwickelt man denn dann gescheit unter Windows, wenn ein Modul nicht kompatibel ist?
Anderes Modul finden oder anderes OS finden. Oder eine kompatible Lösung dazupatchen.
Judge hat geschrieben:2)
Kann man irgendwie erkennen (außer durch so eine Meldung) ob etwas für Windows kompatibel ist?
Im PyPI steht manchmal dran welche Betriebssysteme getestet wurde, außerdem ist die existenz von EXE-Installern ein Hinweis drauf (distutils können solche direkt generieren, daher relativ häufig anzutreffen).
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
Judge
User
Beiträge: 129
Registriert: Mittwoch 13. Juni 2012, 22:27
Wohnort: Ratingen
Kontaktdaten:

Danke für die guten Tipps :)
Antworten