更改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 相关文章推荐
深入讲解Java编程中类的生命周期
Feb 05 Python
python编程实现希尔排序
Apr 13 Python
详解python 爬取12306验证码
May 10 Python
对python3.4 字符串转16进制的实例详解
Jun 12 Python
Django REST framework 单元测试实例解析
Nov 07 Python
浅谈python元素如何去重,去重后如何保持原来元素的顺序不变
Feb 28 Python
matplotlib 生成的图像中无法显示中文字符的解决方法
Jun 10 Python
python实现马丁策略的实例详解
Jan 15 Python
python 利用matplotlib在3D空间中绘制平面的案例
Feb 06 Python
Python与C/C++的相互调用案例
Mar 04 Python
Python字符串对齐方法使用(ljust()、rjust()和center())
Apr 26 Python
Python实现位图分割的效果
Nov 20 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
PHP4 与 MySQL 数据库操作函数详解
2006/12/06 PHP
Fatal error: Call to undefined function curl_init()解决方法
2010/04/09 PHP
php版交通银行网银支付接口开发入门教程
2016/09/26 PHP
php 多文件上传的实现实例
2016/10/23 PHP
PHP中md5()函数的用法讲解
2019/03/30 PHP
深入理解JavaScript定时机制
2010/10/29 Javascript
解析Jquery中如何把一段html代码动态写入到DIV中(实例说明)
2013/07/09 Javascript
js charAt的使用示例
2014/02/18 Javascript
详细分析JavaScript变量类型
2015/07/08 Javascript
jQuery webuploader分片上传大文件
2016/11/07 Javascript
详解javascript立即执行函数表达式IIFE
2017/02/13 Javascript
详解webpack 配合babel 将es6转成es5 超简单实例
2017/05/02 Javascript
JavaScript requestAnimationFrame动画详解
2017/09/14 Javascript
mpvue将vue项目转换为小程序
2018/09/30 Javascript
react 兄弟组件如何调用对方的方法示例
2018/10/23 Javascript
laravel实现中文和英语互相切换的例子
2019/09/30 Javascript
微信小程序实现转盘抽奖
2020/09/21 Javascript
Python函数式编程指南(三):迭代器详解
2015/06/24 Python
浅谈Python浅拷贝、深拷贝及引用机制
2016/12/15 Python
Python调用微信公众平台接口操作示例
2017/07/08 Python
python的pdb调试命令的命令整理及实例
2017/07/12 Python
基于python3 类的属性、方法、封装、继承实例讲解
2017/09/19 Python
Python cookbook(数据结构与算法)找出序列中出现次数最多的元素算法示例
2018/03/15 Python
Django框架之登录后自定义跳转页面的实现方法
2019/07/18 Python
python无序链表删除重复项的方法
2020/01/17 Python
HTML5的download属性详细介绍和使用实例
2014/04/23 HTML / CSS
Marriott国际:万豪国际酒店查询预订
2017/09/25 全球购物
ANINE BING官方网站:奢华的衣橱基本款和时尚永恒的单品
2019/11/26 全球购物
应届生保险求职信
2013/11/11 职场文书
拾金不昧表扬信范文
2014/01/11 职场文书
医德医风自我评价
2014/09/19 职场文书
2016党员干部廉政准则学习心得体会
2016/01/20 职场文书
《狼牙山五壮士》教学反思
2016/02/17 职场文书
《牧场之国》教学反思
2016/02/22 职场文书
公司年会晚会开幕词
2019/04/02 职场文书
Vue Mint UI mt-swipe的使用方式
2022/06/05 Vue.js