python conda 环境变量 pip默认安装目录

Posted trysocket

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python conda 环境变量 pip默认安装目录相关的知识,希望对你有一定的参考价值。

前言

声明: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
,修改其中的参数

 

 

实际修改这两个就好了。

注意

USER_SITE = "F:\\Anaconda\\lib\\site-packages"
这个是你要安装下载的site-packages的路径。

 

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

F:\\Anaconda
当然这里最好写成

USER_BASE = "F:\\Anaconda\\Scripts"


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

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

测试键入

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

 

以上是关于python conda 环境变量 pip默认安装目录的主要内容,如果未能解决你的问题,请参考以下文章

Conda虚拟环境用conda和pip安装软件包的路径问题

python开发简介:Conda,Pip虚环境搭建配置与工程基础实践

在conda环境中pip使用清华源秒速安装skimageopencvtensorflow等python库

pytorch安装(使用pip3装到conda环境下)

conda 迁移环境

Anaconda下使用Pip或者conda安装库指南