关于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
6python2
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 | python #在终端打开对应版本python(如果是在程序中则不需要这个命令) |
运行时追加路径
运行时我们可以通过向sys.path追加路径来添加自己的库
- 通过sys模块来添加
1
sys.path.append('./python')
如果项目需要添加自定义的库,比如z3py这样的库,我们可以通过在项目中包含该库的源码,然后获取当前程序文件的绝对地址,然后计算出z3py库的绝对地址,并在程序中添加z3py库的绝对路径到sys.path
(为什么是绝对地址而不是相对地址:因为我们的代码(比如z3schedule.py)可能在不同的工作目录下被执行,不同的工作目录自然得到的相对路径也就不同,所以如果我们在其他目录下运行当前python文件,那么我们在这个文件下添加到sys.path的z3py对应的库就访问不到了,所以要读取当前文件的绝对路径而不是使用当前路径)
- 通过
__buildin__
来添加环境变量1
2import __builtin__
__builtin__.Z3_LIB_DIRS = /z3py/bin
注意:PYTHONPATH环境变量指定的目录会自动被添加到搜索路径,这个环境变量与sys.path没关系!!!