Python——环境之版本和库以及搜索路径管理总结

关于Python版本与pip的关系


pip相关命令

查看pip版本和安装位置

pip --version

列出pip安装库

pip list

查看安装库详细信息(安装目录和版本等)

pip show <lib name>

pip安装库

pip install <lib name>

pip安装(指定版本version)的库(libname)(到指定路径dir)

pip install libname==version -t dir

Mac自带的python:

python: /usr/bin/python
pip:     /usr/local/bin/pip
libs:    /Library/Python/2.7/site-packages(可通过pip --verison查看到)

anaconda

  • Python2为主安装Python3版本
    1
    2
    3
    4
    5
    6
    python2
    python: /anaconda2/bin/python
    pip: /anaconda2/bin/pip
    python3
    python: /anaconda2/envs/python3/bin/python
    pip /anaconda2/envs/python3/bin/pip

anaconda版本切换命令

默认在python2环境下(对于安装时选择以python2.7版本为基础的anaconda而言)

source activate python3
source deactivate python3

Python 搜索路径与包(package)

不同Python版本的搜索路径不一样

查看搜索路径

查看该Python版本的搜索路径

1
2
3
python 		#在终端打开对应版本python(如果是在程序中则不需要这个命令)
import sys #导入sys包
sys.path #输出该版本Python对应的path

运行时追加路径

运行时我们可以通过向sys.path追加路径来添加自己的库

  • 通过sys模块来添加
    1
    sys.path.append('./python')

如果项目需要添加自定义的库,比如z3py这样的库,我们可以通过在项目中包含该库的源码,然后获取当前程序文件的绝对地址,然后计算出z3py库的绝对地址,并在程序中添加z3py库的绝对路径到sys.path

(为什么是绝对地址而不是相对地址:因为我们的代码(比如z3schedule.py)可能在不同的工作目录下被执行,不同的工作目录自然得到的相对路径也就不同,所以如果我们在其他目录下运行当前python文件,那么我们在这个文件下添加到sys.path的z3py对应的库就访问不到了,所以要读取当前文件的绝对路径而不是使用当前路径)

  • 通过__buildin__来添加环境变量
    1
    2
    import __builtin__
    __builtin__.Z3_LIB_DIRS = /z3py/bin

注意:PYTHONPATH环境变量指定的目录会自动被添加到搜索路径,这个环境变量与sys.path没关系!!!