web-dev-qa-db-fra.com

Comment utiliser pip3 pour Python 3.6 au lieu de Python 3.5?

J'utilise Kali dist donc j'ai déjà installé Python 2.7, 3.5 et 3.6. Les commandes 'python' et 'pip' sont associées à Python 2.7. Mais le 'python3' utilise Python 3.6 alors que pip3 installe des paquets pour Python 3.5.
Quand j'ai essayé de créer un venv:

pip3 -p python3.6 virtualenv myenv

J'ai une erreur:

no such option: -p

Comment associer pip3 à Python 3.6 au lieu de Python 3.5?

5
user8798404

Votre version de pip est inextricablement liée à votre version de Python, vous ne pouvez pas dire à pip "utiliser ce Python" ou "utiliser ce Python". Si vous avez une incompatibilité de version entre pip3 (utilisant Python 3.X) et python3 (Python 3.Y), cela signifie que votre problème concerne plusieurs distributions chevauchantes de Python et un $PATH étrangement configuré.

Si vous exécutez pip3 --version, il vous indiquera le répertoire site-packages et le numéro de version Python auquel pip3 est associé. 

Si vous exécutez python3 puis exécutez >>> import site; site.getsitepackages(), il devrait imprimer le répertoire site-packages que votre python3 utilise. 

Si ceux-ci ne correspondent pas, vous rencontrez des problèmes de chemin et vous devez publier davantage d'informations sur le système d'exploitation utilisé, les distributions Python que vous utilisez et la manière dont vous les avez installées.

Mise à jour/Résumé du fil de commentaire: Une affiche groupée Python 3.6 intégrée à la distribution a été installée à côté de Python 3.5 auto-installé. Le pip3 sur leur chemin était associé à Python 3.6 (système Python), tandis que la commande python3 était associée à Python 3.5 (leur Python auto-installé). Résolution:

Exécutez which -a python3 pour trouver Python 3.5. Ajoutez l'emplacement de Python 3.5 à votre $PATH. (Faites-le en .profile ou .bash_profile pour le rendre permanent.)

7
charlesreid1

Vous pouvez explicitement exécuter le script pip3 avec une version particulière de Python en le préfixant avec le python3. x commande approprié:

ldo@theon:~> pip3 --version
pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.6)
ldo@theon:~> python3.5 $(which pip3) --version
pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.5)
1

Commencez par trouver la bonne version de python que vous souhaitez utiliser:

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

invoquez ensuite directement cette instance de python, par ex.

$ /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

Ensuite, pip ne crée pas d’environnements virtuels. Le module venv fait. Lisez la documentation venv pour une utilisation recommandée. Dans votre cas, vous voudrez peut-être:

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