pip install如何指定包的安装路径

 更新时间:2022年06月30日 09:47:52   作者:sueong  
最近学习python需要用pip下载一些包,但是发现下载后在pycharm中根本导入不了,下面这篇文章主要给大家介绍了关于pip install如何指定包的安装路径的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下

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.htm

总结

到此这篇关于pip install如何指定包的安装路径的文章就介绍到这了,更多相关pip指定包安装路径内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 关于python的第三方库下载与更改方式

    关于python的第三方库下载与更改方式

    这篇文章主要介绍了关于python的第三方库下载与更改方式,使用python的朋友都知道python有很多非常方便的第三方库可以使用,那么如果下载这些第三方库呢,今天小编就带你们来看看
    2023-04-04
  • Python字符串大小写转换拼接删除空白

    Python字符串大小写转换拼接删除空白

    这篇文章主要介绍了Python字符串大小写转换拼接删除空白的方法,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09
  • python实现kNN算法

    python实现kNN算法

    这篇文章主要为大家详细介绍了python实现kNN算法的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • python 用lambda函数替换for循环的方法

    python 用lambda函数替换for循环的方法

    今天小编就为大家分享一篇python 用lambda函数替换for循环的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • django传值给模板, 再用JS接收并进行操作的实例

    django传值给模板, 再用JS接收并进行操作的实例

    今天小编就为大家分享一篇django传值给模板, 再用JS接收并进行操作的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • Python机器学习NLP自然语言处理基本操作之Seq2seq的用法

    Python机器学习NLP自然语言处理基本操作之Seq2seq的用法

    Seq2Seq模型是输出的长度不确定时采用的模型,这种情况一般是在机器翻译的任务中出现,将一句中文翻译成英文,那么这句英文的长度有可能会比中文短,也有可能会比中文长,所以输出的长度就不确定了
    2021-10-10
  • Python中三种时间格式转换的方法

    Python中三种时间格式转换的方法

    本文主要介绍了Python中三种时间格式转换的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • python中datetime模块中strftime/strptime函数的使用

    python中datetime模块中strftime/strptime函数的使用

    这篇文章主要介绍了python中datetime模块中strftime/strptime函数的使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • python使用正则表达式(Regular Expression)方法超详细

    python使用正则表达式(Regular Expression)方法超详细

    这篇文章主要介绍了python使用正则表达式(Regular Expression)方法超详细,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • 一步步教你用python连接oracle数据库

    一步步教你用python连接oracle数据库

    oracle作为最强大的数据库,Python也提供了足够的支持。不过与其他数据库略有不同,下面这篇文章主要给大家介绍了关于如何使用python连接oracle数据库的相关资料,需要的朋友可以参考下
    2023-04-04

最新评论