python的包管理不同于java,在日常中使用pip进行管理很方便,但是在实际项目中会发现使用系统自带的环境多有不便。可以在每新建一个项目的时候进行虚拟环境的建设,在项目发布的时候有比较好的依赖关系管理。
使用virtualenv 进行虚拟环境
以下基于python3,mac 10.15环境,linux类似
pip3 install virtualenv --user
若不加-- user可能有permission error
安装完后有可能发生这样的warning
virtualenv are installed in '/Users/andrew/Library/Python/3.7/bin' which is not on PATH.
查了一下是系统环境变量未添加PATH
vim ~/.bash_profile
添加
export PATH=$PATH:/Uesr/andrew/Library/python/3.7/bin
然后source ~/.bash_profile
在配置系统环境变量的时候其实有很多配置文件。
a. /etc/profile
b. /etc/paths
c. ~/.bash_profile
d. ~/.bash_login
e. ~/.profile
f. ~/.bashrc
###其中a和b是系统级别的,系统启动就会加载,其余是用户接别的。c,d,e按照从前往后的顺序读取,如果c文件存在,则后面的几个文件就会被忽略不读了,以此类推。~/.bashrc没有上述规则,它是bash shell打开的时候载入的。这里建议在c中添加环境变量,以下也是以在c中添加环境变量来演示的:
##新建虚拟环境
virtualenv /your/virual/env/path
virtuaenv -p python3 /your/virual/env/path
##指定python路径
source /your/virtual/env/path/bin/actiave
在用户名前出现
(虚拟环境)的字样就知道虚拟环境激活成功。
回到系统环境
deactivate
会发现虚拟环境的字样消失
然后就可以愉快的进行虚拟环境的管理了。
在项目完结准备发布的时候。
pip3 freeze > requirement.txt
得到包依赖环境
新建虚拟环境的时候就可以和开发环境一模一样的包环境了。
pip3 install -r requirement.txt