更改Python的pip install 默认安装依赖路径方法详解


Posted in Python onOctober 27, 2018

前言

声明:python版本3.6,以下讨论的Python也都是适用于3.x版本

在实际使用安装python的pip安装 依赖库是非常的便捷的。

而且一般大家使用的都是安装Anaconda 来学习和实践python项目。

我们通常都是直接就是使用

pip install ****

其中****代表就是安装的依赖库名或者包名。

但是简单的背后就是,我们的最重要的系统盘C盘都是逐渐满了。更关键是你满完之后还不好去删除或者将一些依赖库放在别的盘的路径下,这就是一件非常糟糕的事情了。

所以今天,为了拯救C盘强迫症的自己,我是必须要好好折腾折腾,将pip install 安装的依赖库和包名都是放在Anaconda(别的盘中)目录下的site-packages中去(全部归到这个类下)。

总体步骤

第一步:先查看自己的默认安装路径到底是在哪?列出全局的packages包的安装路径在哪?

1. 按键(win+R) ->打开cmd命令窗口。

2.键入

python -m site

得到这样的结果:

sys.path = [
 'C:\\Users\\Administrator',
 'F:\\Anaconda\\python36.zip',
 'F:\\Anaconda\\DLLs',
 'F:\\Anaconda\\lib',
 'F:\\Anaconda',
 'F:\\Anaconda\\lib\\site-packages',
 'F:\\Anaconda\\lib\\site-packages\\win32',
 'F:\\Anaconda\\lib\\site-packages\\win32\\lib',
 'F:\\Anaconda\\lib\\site-packages\\Pythonwin',
]
USER_BASE: 'C:\\Users\\Administrator\\AppData\\Roaming\\Python' (exists)
USER_SITE: 'C:\\Users\\Administrator\\AppData\\Roaming\\Python\\Python36\\site-packages' (exists)
ENABLE_USER_SITE: True

这里有几点说明:

①我们看见这里的USER_BASE 和USER_SITE其实就是用户自定义的启用Python脚本和依赖安装包的基础路径。

②其中USER_BASE表示就是在C盘这个目录下的Python.exe启动程序路径以及pip,esay-install,markdown等脚本,(我们已经是安装好了Anaconda Python,这个C盘又是什么鬼,不想用它啊),而这个C盘的Python.exe启动程序路径其实就是我们在安装Anaconda的时候一个分身,更准确的说,其实就是简单的Python程序,并不是什么IDE这种级别的可以类似Eclipse这样去操作编译丰富的功能窗口,只是简单类似shell的一样的存在。

所以要改。

③其中的USER_SITE其实就是用户如果调用C盘路径下的python.exe中的脚本pip文件去下载,就会将site-package的默认安装到这个C盘路径下。

并且大家有时候可能在使用 pip install 命令行安装一些依赖的时候,总是会提示报错“PermissionError:[WinError 5 ] Denied Excess."C"\\......."这样的类似权限拒绝访问,并且提示你无管理员权限的话,使用pip -install ... + [user-site] 这样的字眼。”

python -m site --user-site

而我自己也曾经试验过了,如果是权限问题拒绝安装访问的话,安装cmd命令提示框中提示的user-site使用方法,就能解决权限安装问题。

所以,user_site其实就是个人的site-packages默认安装路径了。而如果使用的是Anaconda 目录下的Scripts中的pip 安装依赖库或包等,则是安装在Anaconda路径下的site-packages中去。

第二步:确认了是什么原因,那么就要去对应的配置文件改了。

因为出现了类似以下

sys.path = [
 'C:\\Users\\Administrator',
 'F:\\Anaconda\\python36.zip',
 'F:\\Anaconda\\DLLs',
 'F:\\Anaconda\\lib',
 'F:\\Anaconda',
 'F:\\Anaconda\\lib\\site-packages',
 'F:\\Anaconda\\lib\\site-packages\\win32',
 'F:\\Anaconda\\lib\\site-packages\\win32\\lib',
 'F:\\Anaconda\\lib\\site-packages\\Pythonwin',
]
USER_BASE: 'C:\\Users\\Administrator\\AppData\\Roaming\\Python' (exists)
USER_SITE: 'C:\\Users\\Administrator\\AppData\\Roaming\\Python\\Python36\\site-packages' (exists)
ENABLE_USER_SITE: True

那么肯定是有对应的配置文件去读取的,我们去寻找修改即可。

cmd命令行窗口下键入:

python -m site -help

就会出现

C:\Users\Administrator>python -m site -help
F:\Anaconda\lib\site.py [--user-base] [--user-site]
 
Without arguments print some useful information
With arguments print the value of USER_BASE and/or USER_SITE separated
by ';'.
 
Exit codes with --user-base or --user-site:
 0 - user site directory is enabled
 1 - user site directory is disabled by user
 2 - uses site directory is disabled by super user
  or for security reasons
 >2 - unknown error

可见,管理这个文件竟然就是Anaconda目录下的site.py文件,之前说C盘中的Python是它的分身还真没说错了。

找到

F:\Anaconda\lib\site.py

修改其中的参数

更改Python的pip install 默认安装依赖路径方法详解

实际修改这两个就好了。

注意

USER_SITE = "F:\Anaconda\lib\site-packages"

这个是你要安装下载的site-packages的路径。

而执行下载的pip等脚本路径是由USER_BASE决定,并且一定一定要换到同样的有pip脚本的路径下,哪怕你路径也请写到

F:\Anaconda

当然这里最好写成

USER_BASE = "F:\Anaconda\Scripts"

更改Python的pip install 默认安装依赖路径方法详解

可以看见Scripts就是这些执行程序和脚本位置了。

第三步:测试安装,保证你修改之后成功有效。

测试键入

pip install numpy

出现,在这个路径下其实已经拥有了满足的依赖包和库了(之前已经安装过了,今天只是将步骤总结下),所以证明是修改成功了。

更改Python的pip install 默认安装依赖路径方法详解

以上这篇更改Python的pip install 默认安装依赖路径方法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
使用Python的Supervisor进行进程监控以及自动启动
May 29 Python
浅析python递归函数和河内塔问题
Apr 18 Python
Python网络编程详解
Oct 31 Python
Python实现输入二叉树的先序和中序遍历,再输出后序遍历操作示例
Jul 27 Python
selenium+python自动化测试环境搭建步骤
Jun 03 Python
Python的Lambda函数用法详解
Sep 03 Python
python 矢量数据转栅格数据代码实例
Sep 30 Python
python实现WebSocket服务端过程解析
Oct 18 Python
解决Python pip 自动更新升级失败的问题
Feb 21 Python
python查看矩阵的行列号以及维数方式
May 22 Python
利用PyQt5+Matplotlib 绘制静态/动态图的实现代码
Jul 13 Python
Python 实现3种回归模型(Linear Regression,Lasso,Ridge)的示例
Oct 15 Python
python 制作自定义包并安装到系统目录的方法
Oct 27 #Python
对Python通过pypyodbc访问Access数据库的方法详解
Oct 27 #Python
Python/ArcPy遍历指定目录中的MDB文件方法
Oct 27 #Python
用Python实现筛选文件脚本的方法
Oct 27 #Python
基于python指定包的安装路径方法
Oct 27 #Python
Python 新建文件夹与复制文件夹内所有内容的方法
Oct 27 #Python
Python利用递归实现文件的复制方法
Oct 27 #Python
You might like
世界收音机发展史
2021/03/01 无线电
PHP使用xmllint命令处理xml与html的方法
2014/12/15 PHP
thinkPHP中分页用法实例分析
2015/12/26 PHP
ThinkPHP实现图片上传操作的方法详解
2017/05/08 PHP
jquery ui 1.7 ui.tabs 动态添加与关闭(按钮关闭+双击关闭)
2010/04/01 Javascript
Textarea与懒惰渲染实现代码
2012/01/04 Javascript
jQuery实现仿美橙互联两级导航菜单的方法
2015/03/09 Javascript
JavaScript获取网页中第一个链接ID的方法
2015/04/03 Javascript
JavaScript中的函数(二)
2015/12/23 Javascript
浅谈JavaScript变量的自动转换和语句
2016/06/12 Javascript
利用vue-router实现二级菜单内容转换
2016/11/30 Javascript
javascript 中null和undefined区分和比较
2017/04/19 Javascript
了解ESlint和其相关操作小结
2018/05/21 Javascript
angularJs利用$scope处理升降序的方法
2018/10/08 Javascript
Vue项目引进ElementUI组件的方法
2018/11/11 Javascript
node.js监听文件变化的实现方法
2019/04/17 Javascript
微信小程序通过js实现瀑布流布局详解
2019/08/28 Javascript
微信小程序关键字变色实现代码实例
2019/12/13 Javascript
vue实现信息管理系统
2020/05/30 Javascript
JS 数组和对象的深拷贝操作示例
2020/06/06 Javascript
Vue-CLI 3 scp2自动部署项目至服务器的方法
2020/07/24 Javascript
Vue+Java 通过websocket实现服务器与客户端双向通信操作
2020/09/22 Javascript
[02:10]三分钟回顾完美世界城市挑战赛
2019/01/24 DOTA
浅谈Python的文件类型
2016/05/30 Python
Python 删除连续出现的指定字符的实例
2018/06/29 Python
python使用PyQt5的简单方法
2019/02/27 Python
基于python实现地址和经纬度转换
2020/05/19 Python
Python xmltodict模块安装及代码实例
2020/10/05 Python
分享CSS3中必须要知道的10个顶级命令
2012/04/26 HTML / CSS
Stuarts London美国/加拿大:世界领先的独立男装零售商之一
2019/03/18 全球购物
运动会解说词50字
2014/01/18 职场文书
2014村务公开实施方案
2014/02/25 职场文书
难忘的一天教学反思
2014/04/30 职场文书
工业设计专业自荐书
2014/06/05 职场文书
2014年终个人工作总结
2014/11/07 职场文书
大学军训决心书
2015/02/05 职场文书