Python 包的搜寻与安装

Python搜索包

python 解释器的路径一般为:<path_prefix>/bin/python

默认包地址:

1 <path_prefix>/bin 标准库路径
2 <path_prefix>/lib/pythonX.Y/site-packages 第三方库路径,X.Y 是Python版本号
3
<pwd>
当前工作目录

注:

  1. Linux 上默认 <path_prefix>/usr
  2. 如果将Python升级,如从3.6到3.7那么之前装的三方库都没法用了

添加搜索路径

可以使用环境变量来添加

将路径加到 PYTHONPATH 环境变量里,多个路径用 : 隔开

注:避免将不同的 Python 版本包路径添加到 PYTHONPATH ,存在兼容问题

路径搜索函数

  • sys.executable 当前使用的 Python 解释器路径
  • sys.path 当前包的搜索路径表
  • sys.prefix 当前使用的 <path_prefix>

例:

>>> import sys
>>> sys.executable
'/usr/bin/python3'
>>> sys.path
['', '/usr/lib/python36.zip', '/usr/lib/python3.6', '/usr/lib/python3.6/lib-dynload', '/home/wan/.local/lib/python3.6/site-packages', '/usr/local/lib/python3.6/dist-packages', '/usr/lib/python3/dist-packages']
>>> sys.prefix
'/usr'

包查询

利用 pip (pip3) 命令查询包

  • pip search [package] 搜寻特定包 pagckage

  • pip show [package] 显示特定包 package 信息

  • pip list 列出所有已安装包

Python 包安装

安装 Python 普遍用 pip(python3 默认 pip3),pip 安装包默认安装到 <path_prefix>/lib/pythonX.Y/site-packages 下,可执行程序安装到 <path_prefix>/bin

几个更改安装位置的选项

  • --prefix PATH 替换 <path_prefix>PATH
  • --root ROOT_PATH<path_prefix> 前加上 ROOT_PATH
  • --target TARGET 安装在 TARGET 位置

有关虚拟环境中的包

虚拟环境的主要机制是为了在隔离环境中使用不同版本的Python及依赖包,避免依赖冲突。

运行 virtualen myenv 会复制新的 Python 解释器到 myenv/bin 下,并创建好 myenv/libmyenv/lib/pythonX.Y/site-packages 等目录。

执行 source myenv/bin/activate 激活虚拟环境后会将 myenv/bin 塞到 PATH 前,使其成为优先搜索安装目录。

参考资料

  1. 你的 Python 包都装到哪了? BY--Frost
posted @ 2020-04-13 22:19  小渔人  阅读(306)  评论(0)    收藏  举报