2017-11-20 3 views
0

Hallo, ich bin neu bei python3 und python3.6, ich benutze normalerweise pip3 install, um meinem python3-Pfad alte Bibliotheken hinzuzufügen.python3-Bibliothek zum python3.6-Pfad hinzufügen

Ich habe vor kurzem python3.6 zur Verwaltung meiner Home-Server mit seinen asyncio-Funktionen abgeholt, aber mein python3.6-Interpreter kann pwnlibs nicht finden und kann daher meinen alten Code nicht wiederverwenden.

Ich habe versucht:

import sys 
import os 
sys.path.append(os.path.abspath(pwn.__file__)) 
import pwn 

Debug-Ergebnisse:

auf python3.4 os.path.abspath(pwn.__file__) den richtigen Pfad zu der Bibliothek zurück

+0

Ich glaube dir nicht (darüber auf Python 3.4 zu arbeiten, wie vor dem Import gezeigt) –

+0

Ich bin sehr neu zu Python und könnte missverstanden haben, was ich tue, ich folgte den Anweisungen hier, python3; Import pwn funktioniert für mich korrekt. Prost. http://python3-pwntools.readthedocs.io/en/latest/install.html – laycat

Antwort

2

Während sys.path.append eine gültige Weise auf Ihren Python-Pfad hinzufügen bei Laufzeit, Sie können den Pfad von einem Modul, das Sie noch nicht geladen haben, nicht abrufen.

Stattdessen sollten Sie Ihre Pakete mit pip3 oder an einem bestimmten Ort installieren und entweder zur Laufzeit oder über die Umgebungsvariable PYTHONPATH zu Ihrem Pfad hinzufügen.

Ich würde vermuten, da Sie pip3 bereits erwähnt jedoch, dass Sie das pwn Paket bereits installiert, wenn Sie mit 3.4 versucht und Ihrer Installation von Python 3.6 ist nicht die gleichen Wege wie Python 3.4 installieren verwenden. Versuchen Sie, Ihre Python-Pfade von 3.4 mit 3.6 zu vergleichen, indem Sie die Ausgabe von sys.path vergleichen. Wenn Sie das Paket pwntools verwenden, unterstützt es Python 3 noch nicht. Wenn Sie also den Ordner einfach kopieren, beachten Sie, dass er möglicherweise nicht richtig oder überhaupt nicht funktioniert.