pip install指定安装目录
pip install一般会有默认的安装目录,可以通过python -m site
进行查看,当然也可以对默认目录进行修改通过pip install --target=path_name package_name
python默认的是系统装的2.7
python3是3.8版本
USER_BASE 和USER_SITE其实就是用户自定义的启用Python脚本和依赖安装包的基础路径。
user_site其实就是个人的site-packages默认安装路径了
/home/szr/.local
下的文件
/home/szr/.local/lib/python3.8/site-packages
是安装的包
测试pip3 install和pip install
的安装路径 ,都是默认用python3.8, 路径在/home/szr/.local/lib/python3.8/site-packages
pip
pip3
输入python3 -m site -help
发现配置文件在user-base和user-site的定义在/usr/lib/python3.8/site.py [--user-base] [--user-site]
下面
改变pip的安装路径
mkdir packages
在路径/home/szr/.local/lib/python3.8/
下
将site.py中原来定义的None(其实最终返回的路径是/home/szr/.local/lib/python3.8/site-packages
)改为/home/szr/.local/lib/python3.8/packages
USER_SITE = "/home/szr/.local/lib/python3.8/site-packages "
这个是你要安装下载的site-packages的路径。
而执行下载的pip等脚本路径是由USER_BASE
决定,并且一定一定要换到同样的有pip脚本
的路径下,这个路径不变。
修改前:
修改后:
pip install numpy
有奇怪的警告但是也成功安装了
distutils:当您决定发布您的模块供其他人使用时,distutils为他们提供了一种标准的方法来在他们的机器上安装您的模块。(“distutils”中的“dist”是指分发,就像将软件分发给其他人一样。)
pip show numpy
装在了之前设定在site.py下的目录:/home/szr/.local/lib/python3.8/packages
说明更改路径成功
打开/home/szr/.local/lib/python3.8/packages
确实存在numpy
dist-packages和site-packages区别
另外:观察site.py 发现有dist-packages和site-packages
/usr/local/lib/python3.8/dist-packages
如果是系统自带的python
,会使用dist-packages
目录
如果你手动安装python
,它会直接使用目录site-packages
这允许你让两个安装隔离开来
dist-packages
是特定于Debian的约定,也存在于其衍生版本中,例如Ubuntu。当模块从Debian软件包管理器进入以下位置时,它们将安装到dist-packages中:
如/usr/lib/python2.7/dist-packages
由于easy_install和pip是从软件包管理器安装的,因此它们也使用dist-packages,但是它们将软件包放在此处:
/usr/local/lib/python2.7/dist-packages
从Debian Python Wiki:
dist-packages而不是site-packages。从Debian软件包安装的第三方Python软件进入dist软件包,而不是站点软件包。这是为了减少系统Python与你可能手动安装的任何源Python构建之间的冲突。
这意味着,如果你从源代码手动安装Python,它将使用site-packages目录
。这使你可以将两个安装分开,特别是因为Debian和Ubuntu在许多系统实用程序中都依赖Python的系统版本。
更改Python的pip install 默认安装依赖路径方法详解
关于anaconda的 https://www.jb51.net/article/149625.html