• Python 基础合集15:修改pip install的安装路径


    一、前言

    经常使用Python的小伙伴,不知道有没有发现,自己通过pip install xxx安装的包一部分在安装路径中一部分在C:\Users\<用户名>\AppData\Roaming\Python中。
    一开始想要自定义安装就是为了不想放到C盘,结果倒好,扩展包还是给安装到C盘去……
    该问题可能会导致两个路径下都有同一个名字的包的风险,到时候调用包时傻傻的分不清,我之前就有过相关的经历,想要升级pandas,Anaconda本身已经有一个pandas,重新下载的给整到C盘去,两边都有一个pandas,调用接口的时候,愣是分不清,明明缺的东西已经补上,就是跑不出来,让人十分抓狂……
    为了从一开始就杜绝这些的风险出现,建议改一下安装第三方包的安装路径,方法很简单,修改两个参数即可,下面跟着我一起来看看吧~

    二、基本介绍

    先说明下我的基本配置情况:

    Anaconda安装路径:D:\anaconda3
    Anaconda安装的第三方库包路径:D:\anaconda3\Lib\site-packages
    Anaconda的Python版本:Python 3.9
    计算机用户名:55414

    注:如果安装的不是Anaconda,而是Python,原理也大同小异,把Anaconda看做Python处理即可。

    可以打开命令行(快捷方式是按下win+R,然后弹窗输入cmd,回车)查看默认安装第三方库包的路径,命令行下输入以下命令:

    python -m site
    
    • 1

    image.png
    注:由于我还没有在该路径下安装过第三方库包,所以这两个路径后面带有【(doesn’t exist)】字样。

    由上图,可以看到,默认安装第三方库包的路径是

    C:\Users\55414\AppData\Roaming\Python\Python39\site-packages

    显然,和我Anaconda的库包不再同一路径下,需要把这个路径改掉。

    修改该路径是在一个site.py的配置文件中,路径为D:\anaconda3\Lib\site.py,在Anaconda安装目录下的lib文件夹中,这里通常放着已安装好的Python第三方库

    打开site.py配置文件会发现内容很多,可以通过打开查找(ctrl+F)工具,输入【USER_SITE = None】搜索定位。
    image.png
    接下来,把上面两个路径修改为Anaconda的安装路径,保存即可。

    USER_SITE = "D:\\anaconda3\\Lib\\site-packages"
    USER_BASE = "D:\\anaconda3\\Scripts"
    
    • 1
    • 2

    注意:要用\\以免受到转义的影响。

    再通过命令行输入一遍python -m site,可以看到已经修改过来了。
    image.png

    💡几个问题

    1️⃣设置好之后,在哪里可以看到安装的第三方库?
    在安装目录下的..\Lib\site-packages文件夹中,如我的目录D:\anaconda3\Lib\site-packages

    2️⃣之前安装在默认路径的库包怎么办?
    好办,直接将默认路径下的site-packages中的包移动到Anaconda下的Lib\site-packages即可,不过需要注意,必须保证没有重复安装,如果两边都有同一个包,需要先删除一个,再移动,或者两个都不要了,重新装一遍。

    3️⃣关于--user命令的问题
    之后安装命令不要再加上--user命令,避免一些奇怪的现象,讲一个我的例子,之前安装twine,一开始使用pip install --user twine进行安装,然后在安装目录下……\Scripts下生成了一个文件夹,最终把twine.exe存放在……\Scripts\Python39\Scripts目录下,卸载之后,使用pip install twine进行安装,twine.exe才正常存放在……\Scripts目录下。

    三、小结

    指定通过pip安装第三方库的安装位置,可以修改安装目录下的..\Lib\site.py文件中的两个参数USER_SITEUSER_BASE,Python和Anaconda都一样。

  • 相关阅读:
    pytest + yaml 框架 -57.用例前置和后置操作执行sql
    51单片机IO口介绍
    RSA 2048位算法的主要参数N,E,P,Q,DP,DQ,Qinv,D分别是什么意思 哪个是通常所说的公钥与私钥 -安全行业基础篇5
    如何查看所有员工电脑访问网站记录?
    YOLOv8检测obb标注hrsc数据集
    阿里P8MySQL,基础/索引/锁/日志/调优都不误,一锅深扒端给你
    开启未来创新之门:.NET Conf China 2023 精彩回顾及资料下载
    Nginx+Lua+OpenResty(详解及使用)
    MyBatis-Plus中实现自定义功能Mapper
    基于微信小程序的电动车智能充电系统设计与实现(源码+lw+部署文档+讲解等)
  • 原文地址:https://blog.csdn.net/qq_45476428/article/details/127523894