更改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代码(逐级优化)
May 25 Python
教你如何将 Sublime 3 打造成 Python/Django IDE开发利器
Jul 04 Python
Python3.2中的字符串函数学习总结
Apr 23 Python
python实现换位加密算法的示例
Oct 14 Python
python scatter散点图用循环分类法加图例
Mar 19 Python
python 求10个数的平均数实例
Dec 16 Python
使用tensorflow实现矩阵分解方式
Feb 07 Python
tensorflow多维张量计算实例
Feb 11 Python
Python OpenCV读取显示视频的方法示例
Feb 20 Python
python GUI库图形界面开发之PyQt5滚动条控件QScrollBar详细使用方法与实例
Mar 06 Python
解决python3.6用cx_Oracle库连接Oracle的问题
Dec 07 Python
关于django python manage.py startapp 应用名出错异常原因解析
Dec 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
PHP 调试工具Debug Tools
2011/04/30 PHP
PHP实现图片旋转效果实例代码
2014/10/01 PHP
ucenter通信原理分析
2015/01/09 PHP
PHP排序算法类实例
2015/06/17 PHP
3种php生成唯一id的方法
2015/11/23 PHP
一个很简单的jquery+xml+ajax的无刷新树结构(无css,后台是c#)
2010/06/02 Javascript
javascript中不等于的代码是什么怎么写
2013/12/29 Javascript
js 判断js函数、变量是否存在的简单示例代码
2014/03/04 Javascript
node.js中的events.emitter.once方法使用说明
2014/12/10 Javascript
基于jQuery创建鼠标悬停效果的方法
2015/03/07 Javascript
jQuery实现垂直半透明手风琴特效代码分享
2015/08/21 Javascript
BootStrap 智能表单实战系列(五) 表单依赖插件处理
2016/06/13 Javascript
jQuery1.9+中删除了live以后的替代方法
2016/06/17 Javascript
简单理解js的冒泡排序
2016/12/19 Javascript
jquery中绑定事件的异同
2017/02/28 Javascript
JS仿QQ好友列表展开、收缩功能(第二篇)
2017/07/07 Javascript
关于vue中watch检测到不到对象属性的变化的解决方法
2018/02/08 Javascript
jquery实现Ajax请求的几种常见方式总结
2019/05/28 jQuery
jquery轮播图插件使用方法详解
2020/07/31 jQuery
基于python的汉字转GBK码实现代码
2012/02/19 Python
使用Python编写一个模仿CPU工作的程序
2015/04/16 Python
Python算法之图的遍历
2017/11/16 Python
PyQt5实现简单数据标注工具
2019/03/18 Python
np.dot()函数的用法详解
2020/01/17 Python
Python通过两个dataframe用for循环求笛卡尔积
2020/04/29 Python
一款简洁的纯css3代码实现的动画导航
2014/10/31 HTML / CSS
html5教程实现Photoshop渐变色效果
2013/12/04 HTML / CSS
亚洲最大的运动鞋寄售店:KicksCrew
2020/11/26 全球购物
德国玩具商店:Planet Happy DE
2021/01/16 全球购物
大学生毕业的自我鉴定
2013/11/13 职场文书
新年晚会主持词
2014/03/24 职场文书
网站创业计划书
2014/04/30 职场文书
创先争优演讲稿
2014/09/15 职场文书
装修公司管理制度
2015/08/05 职场文书
Python基础之数据结构详解
2021/04/28 Python
Django实现WebSocket在线聊天室功能(channels库)
2021/09/25 Python