Comment pip install spécifie-t-il le chemin d'installation du package

pip install spécifie le répertoire d'installation

pip install a généralement un répertoire d'installation par défaut, qui peut être python -m siteconsulté, bien sûr, le répertoire par défaut peut également être modifié via

pip install --target=path_name package_name

Le python par défaut est 2.7 installé dans le système

python3 est la version 3.8

USER_BASE et USER_SITE sont en fait des chemins de base définis par l'utilisateur pour activer les scripts Python et les packages d'installation dépendants.

user_site est en fait le chemin d'installation par défaut des packages de sites personnels.

/home/szr/.localfichiers sous

 

/home/szr/.local/lib/python3.8/site-packagesest le paquet installé

 

Le chemin d'installation du test pip3 install和pip installest python3.8 par défaut, et le chemin est dans/home/szr/.local/lib/python3.8/site-packages

pépin

 

pip3

 

Le profil de découverte d'entrée python3 -m site -helpest défini /usr/lib/python3.8/site.py [--user-base] [--user-site]ci-dessous dans la base d'utilisateurs et le site d'utilisateurs

 

Changer le chemin d'installation de pip

mkdir packages路径/home/szr/.local/lib/python3.8/Ensuite, 
modifiez la définition d'origine de None dans site.py (en fait, le chemin final renvoyé est /home/szr/.local/lib/python3.8/site-packages) en/home/szr/.local/lib/python3.8/packages 

USER_SITE = "/home/szr/.local/lib/python3.8/site-packages "

Il s'agit du chemin où vous souhaitez installer les packages de site téléchargés.

Le chemin des scripts tels que pip qui exécute le téléchargement est USER_BASEdéterminé par l'utilisateur et doit être remplacé par le pip脚本même chemin, qui reste inchangé.

avant fixation :

 Après modification:

pip install numpy

 Il y a des avertissements étranges mais également installés avec succès

distutils : Lorsque vous décidez de distribuer votre module pour que d'autres personnes l'utilisent, distutils leur fournit un moyen standard d'installer votre module sur leurs machines. (Le "dist" dans "distutils" signifie distribuer, comme dans la distribution de logiciels à d'autres personnes.) 

pip show numpy

Installé dans le répertoire précédemment défini sous site.py : /home/szr/.local/lib/python3.8/packages
indiquant que le changement de chemin a réussi

Open /home/szr/.local/lib/python3.8/packages existe numpy

 

La différence entre dist-packages et site-packages

 De plus : observez site.py et constatez qu'il existedist-packages和site-packages

 

cd /usr/local/lib/python3.8/dist-packages;ls

Si oui 系统自带的python, dist-packagesle répertoire sera utilisé

手动安装pythonIl utilisera le répertoire directement si voussite-packages

Cela vous permet de garder les deux installations isolées

dist-packagesest une convention spécifique à Debian qui existe également dans ses dérivés, comme Ubuntu. Les modules sont installés dans dist-packages lorsqu'ils arrivent aux emplacements suivants depuis le gestionnaire de packages Debian :

Comme /usr/lib/python2.7/dist-packages
easy_install et pip utilisent également des packages dist car ils sont installés à partir de gestionnaires de packages, mais ils placent les packages ici :

/usr/local/lib/python2.7/dist-packages

Du wiki Debian Python :

dist-packages au lieu de site-packages. Les logiciels Python tiers installés à partir de packages Debian sont placés dans des packages dist, et non dans des packages de site. Cela permet de réduire les conflits entre le système Python et toutes les versions Python source que vous avez peut-être installées manuellement.

Cela signifie si 你从源代码手动安装Python,它将使用site-packages目录. Cela vous permet de séparer les deux installations, d'autant plus que Debian et Ubuntu s'appuient sur la version système de Python pour de nombreux utilitaires système.

Explication détaillée de la méthode de modification du chemin de dépendance d'installation par défaut de l'installation pip de Python

Explication détaillée de la méthode d'anaconda  pour changer le chemin de dépendance d'installation par défaut de pip install de Python Develop Paper

 

おすすめ

転載: blog.csdn.net/m0_46829545/article/details/131052634