it-swarm.com.de

Wie verwende ich pip3 für Python 3.6 anstelle von Python 3.5?

Ich benutze Kali dist, also habe ich bereits Python 2.7, 3.5 und 3.6 installiert. Die Befehle 'python' und 'pip' sind mit Python 2.7 verbunden. 'Python3' verwendet jedoch Python 3.6, während pip3 Pakete für Python 3.5 installiert.
Als ich versuchte, ein venv zu erstellen:

pip3 -p python3.6 virtualenv myenv

Ich habe einen Fehler erhalten:

no such option: -p

Wie kann ich pip3 mit Python 3.6 anstelle von Python 3.5 verknüpfen?

5
user8798404

Ihre Pip-Version ist untrennbar mit Ihrer Python-Version verknüpft. Sie können nicht sagen, dass Pip "diesen Python verwenden" oder "diesen Python verwenden" verwendet. Wenn die Version zwischen pip3 (Python 3.X) und Python3 (Python 3.Y) nicht übereinstimmt, liegt das Problem bei mehreren überlappenden Python-Distributionen und einem eigenartig konfigurierten $PATH.

Wenn Sie pip3 --version ausführen, werden Sie über das Site-Packages-Verzeichnis und die Python-Versionsnummer informiert, der pip3 zugeordnet ist. 

Wenn Sie python3 und dann >>> import site; site.getsitepackages() ausführen, sollte das Site-Packages-Verzeichnis gedruckt werden, das Ihr python3 verwendet. 

Wenn diese nicht übereinstimmen, gibt es Pfadprobleme und Sie müssen weitere Informationen dazu bereitstellen, auf welchem ​​Betriebssystem Sie sich befinden, welche Python-Distributionen Sie verwenden und wie Sie sie installiert haben.

Update/Zusammenfassung des Kommentars Thema: Auf dem Original-Poster wurde neben Python 3.5 ein Python 3.6 mit Distributionspaket installiert. Das pip3 auf ihrem Pfad war mit Python 3.6 (System Python) verbunden, während der Befehl python3 mit Python 3.5 (ihrem selbst installierten Python) verknüpft war. Auflösung:

Führen Sie which -a python3 aus, um nach Python 3.5 zu suchen. Fügen Sie den Ort von Python 3.5 zu Ihrem $PATH hinzu. (Machen Sie es in .profile oder .bash_profile, um es dauerhaft zu machen.)

7
charlesreid1

Sie können das pip3-Skript explizit mit einer bestimmten Python-Version ausführen, indem Sie dem entsprechenden python3. x den Befehl voranstellen:

[email protected]:~> pip3 --version
pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.6)
[email protected]:~> python3.5 $(which pip3) --version
pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.5)
1

Suchen Sie zuerst die richtige Version von Python, die Sie verwenden möchten:

$ which -a python3.6
/usr/bin/python3.6

rufen Sie dann diese Instanz von Python direkt auf, z.

$ /usr/bin/python3.6 -m venv
usage: venv [-h] [--system-site-packages] [--symlinks | --copies] [--clear] [--upgrade] [--without-pip] [--Prompt PROMPT] ENV_DIR [ENV_DIR ...]
venv: error: the following arguments are required: ENV_DIR

Als Nächstes erstellt pip keine virtuellen Umgebungen. Das Modul venv macht dies. Lesen Sie die venv-Dokumentation für empfohlene Verwendung. In Ihrem Fall möchten Sie vielleicht:

$ /usr/bin/python3.6 -m venv myenv
0
John Schmitt