pip指定包的安装路径

本文介绍了如何修改pip的默认安装目录,通过在Python的site.py文件中更改USER_SITE路径。详细步骤包括创建新的目标目录、修改site.py中的USER_SITE变量。同时,解释了dist-packages和site-packages的区别,前者用于系统安装的Python,后者常用于手动安装。文章还提到了Debian和Ubuntu系统中这两个目录的使用情况。
摘要由CSDN通过智能技术生成

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

在这里插入图片描述

### 回答1: 可以使用以下命令指定安装路径pip install --target=/path/to/install/package package_name 其中,/path/to/install/package 是你想要安装路径,package_name 是你想要安装的名称。 ### 回答2: pip是Python的管理工具,我们可以用它来安装、升级、卸载Python。而pip install指令则是用来安装Python的命令,通常我们需要在命令行键入pip install 名即可自动下载和安装。 但有时我们需要将Python的安装指定路径中,例如,我们需要将某个Python安装到一个自定义路径,而不是默认的路径中,这时就需要使用pip install指令的参数来指定安装路径。 在使用pip install指令时,可以使用两个常用的参数控制安装路径: - -t:指定安装路径。 - --user:指定安装路径为当前用户的主目录。 当我们在命令行中输入pip install名 -t安装路径时,pip就会将安装指定路径中。例如,我们可以输入以下命令安装requests这个到D:\PythonProjects\lib路径中: pip install requests -t D:\PythonProjects\lib 输入完毕后,pip就会将requests自动下载和安装到D:\PythonProjects\lib路径中。需要注意的是,为了能够正确的使用这个安装,我们需要将这个路径加入Python的sys.path中,否则Python将无法在该路径中找到并使用这个。 而如果我们想选择安装到当前用户的主目录下,可以在命令中使用--user参数: pip install requests --user 如此一来,requests就会被安装到该用户的主目录下,具体路径取决于操作系统和版本。例如,在Windows系统下,该路径通常为C:\Users\当前用户\AppData\Roaming\Python\Python版本号\Scripts,需要注意的是,这个路径中的"版本号"指的是Python的版本号,例如,如果你安装的是Python 3.9.6版本,则路径中将含"Python3.9"字样。同样的,这个路径也需要加入Python的sys.path中才能被使用。 总之,要使用pip install指令来指定安装路径,我们需要在命令中使用-t或--user这两个参数来指定需要安装到的路径,这样就可以将Python的安装到自定义路径中或者各个用户的主目录下,以方便我们进行使用和维护。 ### 回答3: pip是Python的一个管理工具,可以用于安装、升级和卸载Python,方便我们对Python进行管理。有时候我们需要将某个安装指定安装路径下,这时候可以使用pip install指定安装路径的方法。 在执行pip install时,可以通过--target参数指定安装路径。这个参数指定一个路径pip会将指定安装到这个路径下。例如: pip install numpy --target=/usr/local/lib/python3.8/site-packages 这个命令会将numpy这个安装到/usr/local/lib/python3.8/site-packages路径下。 使用--target指定安装路径的方法可以在多个Python环境中管理同一个,也可以方便地将复制到其他机器上使用。需要注意的是,不同的Python版本可能对应不同的安装路径,需要根据实际情况进行选择。 除了使用--target参数外,还可以使用--install-option参数指定其他安装选项。例如,可以使用以下方法指定一个虚拟环境的路径pip install numpy --install-option="--prefix=/path/to/venv" 这个命令会将numpy安装指定路径下的虚拟环境中。 总之,pip install指定安装路径是一个非常方便的方法,可以帮助我们更好地管理Python,适应不同的环境需要。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值