Comment utiliser pip3 pour python 3.6 au lieu de python 3.5?
Je suis sous Kali dist donc j'ai déjà installé Python 2.7, 3.5 et 3.6. Les commandes "python" et " pip " sont associés avec Python 2.7. Mais le "python3' utilise Python 3.6 tandis que pip3 est l'installation des packages 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 puis-je associer pip3 avec Python 3.6 au lieu de Python 3.5?
- Double Possible de Comment faire pour exécuter pip de différentes version de python à l'aide de commande python?
- L'option '-p python3.6 " devrait être les arguments en faveur de virtualenv pas pip3
- Si une seule de ces réponses a permis de résoudre votre problème, merci de le marquer.
- Voir aussi cette question et les conseils donnés: Si vous n'êtes pas déjà un Linux pro, ne pas utiliser de Kali. Ce ne peut pas être assez souligné.
Vous devez vous connecter pour publier un commentaire.
Votre version de pip est inextricablement lié à votre version de Python, on ne peut pas dire pip "utiliser ce Python" ou "utiliser Python." Si vous avez une incompatibilité de version entre pip3 (à l'aide de Python 3.X) et python3 (en cours de Python 3.Y), cela signifie que votre problème est avec plusieurs chevauchement des distributions de Python et bizarrement configuré
$PATH
.Si vous exécutez
pip3 --version
il vous dira le site-packages répertoire et Python numéro de version pip3 est associée.Si vous exécutez
python3
et ensuite exécuter>>> import site; site.getsitepackages()
, il devrait s'imprimer sur le site-packages répertoire de votrepython3
est à l'aide.Si elles ne correspondent pas, vous avez des problèmes de chemins et vous aurez besoin d'afficher plus d'informations sur ce système d'exploitation vous êtes, à ce que Python distributions que vous utilisez et comment vous les avez installées.
Mise à jour/Résumé de Fil de Commentaires: affiche Originale avait une distribution-livré Python 3.6 installé à côté d'une auto-installé Python 3.5. Le pip3 sur leur chemin a été associée avec Python 3.6 (système de Python), alors que la commande python3 a été associée avec Python 3.5 (leur auto-installé Python). Résolution:
Exécuter
which -a python3
pour trouver Python 3.5. Ajouter l'emplacement de Python 3,5 à votre$PATH
. (Le faire dans.profile
ou.bash_profile
à la rendre permanente.)pip3 --version
pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.5)
>>> import site; site.getsitepackages()
['/usr/local/lib/python3.6/site-packages']
$PATH
variable d'environnement. C'est là que votre système est à la recherche pour les versions de Python lorsque vous tapez "python" à l'invite de commande. La solution est de trouver le chemin d'accès où python 3.5 est situé sur votre machine, et l'ajouter à la face avant de votre chemin. L'exécution dewhich -a python3
(PAS python3.6, comme indiqué ci-dessus) vous dira où python 3.5 est situé. Veuillez envoyer la sortie de cette commande:which -a python3
.which -a python3
afin que nous puissions comprendre ce qu'il faut ajouter à votre$PATH
.)which -a python3
/usr/local/bin/python3 /usr/bin/python3
Vous pouvez lancer explicitement la
pip3
script avec une version de Python, en préfixant avec lepython3.
x commande:pip3 -V pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.5)
python3.6 $(which pip3) --version
Traceback (most recent call last):
File "/usr/bin/pip3", line 9, in <module>
from pip import main
ModuleNotFoundError: No module named 'pip'
Lorsque vous installer Python3, voir si il y a un commentaire comme ceci:
Ignoring ensurepip failure: pip 9.0.1 requires SSL/TLS
Vous pouvez voir les entrées de ce genre dans le journal:
Cette réponse qui décrit l'utilisation de ensurepip
https://stackoverflow.com/a/38250442/1607937
Voir aussi à ce sujet openssl
"SSL module en Python n'est pas disponible" lors de l'installation du package avec pip3
D'abord trouver la bonne version de python que vous souhaitez utiliser:
ensuite invoquer cette instance de python directement, par exemple
Prochaine,
pip
ne pas créer des environnements virtuels. Le modulevenv
n'. Lire levenv
de la documentation pour l'usage recommandé. Dans votre cas, vous pourriez vouloir:which -a
fonctionne sur macOS et Linux. Quel système d'exploitation utilisez-vous?which -a python3.6
/usr/local/bin/python3.6 /usr/bin/python3.6