virtualenv搭建python 2/3开发环境

conda

# 新建虚拟环境
conda create -n venv_xx python=3.6
# 进入(激活)虚拟环境
conda activate venv_xx
# 退出虚拟环境:
conda deactivate
# 删除虚拟环境(注意:该语句要在 base 环境中执行): 
conda remove -n pytest --all
# 用conda 安装库
conda install xxx
# 用pip安装库 要在conda虚拟环境中先安装pip
conda install pip
pip install xxx

查看已配置环境列表(显示在 Anaconda 中配置的所有环境):conda env list 或者用 conda info -e

conda env create -f <path_to_yaml_file>
# This will create an environment and install all the dependencies mentioned.
conda env create -f config.yml
# Activating the environment
# To check whether the environment is created, run the below command.
conda env list
# This command will activate the environment.
conda activate <env_name>
# Exporting the Environment file. First, let's activate the environment you want to export. This will handles both the conda and pip packages in the environment. This yml can be shared with others to create the same environment as yours.
conda env export > environment.yml

# 使用 conda 导出虚拟环境至 yml
方法一:在虚拟环境中,运行:conda env export > environment.yml
方法二:或者在 base 环境中,运行:conda env export -n ENVNAME > environment.yml
问题:在安装一个包时,往往会安装很多依赖包,跨平台使用时,不一定这些依赖包可以通用。
为了确保其他人能够独立于他们使用的操作系统重新生成分享的环境,在conda env export命令中添加--from-history参数。导出 精简版,即只导出这个包,不导出其依赖包。
在 conda env export 后加上 --from-history:conda env export --from-history -n ENVNAME > environment.yml
conda env export --name machine-learning-env --from-history --file environment.yml

两者区别:
(1)conda env export:导出安装包和依赖包、及版本号。
比如说,我安装了 SciPy,导出环境时,不只导出 SciPy 及其版本号,还导出它的依赖包和版本号
(2)conda env export --from-history:只导出安装包。
# Updating an environment
# --prune告诉Conda从环境中删除不再需要的任何依赖项。
conda env update --prefix ./env --file environment.yml  --prune
# Making Jupyter aware of your Conda environments
# --name由Jupyter内部使用;--display-name在JupyterLab启动菜单和jupyternotebook下拉kernel菜单中显示。该命令将覆盖任何具有相同名称的现有kernel
conda env create --prefix ./env --file environment.yml --force
conda activate ./env
python -m ipykernel install --user --name xgboost-env --display-name "XGBoost"

ref.1
ref.2

venv / virtualenv

python3.6 -m venv horizon # 创建Python Virtual env

source horizon/bin/activate # 使virualenv配置生效(重启terminal后需要再次执行此命令)

  • 安装
$ sudo pip install virtualenv
$ sudo pip install virtualenvwrapper
  • 配置
$ export WORKON_HOME=/home/yourname/pyvenv  #你创建的虚拟环境所放置的目录
$ mkdir -p $WORKON_HOME
$ source /usr/bin/virtualenvwrapper.sh
or
($ source /usr/local/bin/virtualenvwrapper.sh)
  • 创建py2/3虚拟环境
$ virtualenv -p python2 py2venv
$ virtualenv -p python3 py3venv
$ python3 -m venv /path/to/new/virtual/environment
$ virtualenv --system-site-packages -p python3 ./venv

or

conda create -n makeittalk_env python=3.6
进入
conda activate makeittalk_env
退出:
conda deactivate

# conda 查看已有环境
conda info -e
  • 激活虚拟环境
    $ source ~/pyvenv/py3venv/bin/activate

  • 其他一些命令

lsvirtualenv			  # 列出全部的虚拟环境
showvirtualenv      	  # 列出单个虚拟环境的信息
deactivate                # 退出当前虚拟环境
workon [虚拟环境名称]       # 使用某个虚拟环境
rmvirtualenv [虚拟环境名称] # 删除某个虚拟环境
allvirtualenv  			  # 对当前虚拟环境执行统一的命令
cpvirtualenv    		  # 拷贝虚拟环境
cdvirtualenv 			  # 可以直接切换到虚拟环境子目录


  • 更简易的方式创建虚拟环境:
$virtualenv yourenvname
$cd yourenvname
$source bin/activate

  • 将环境中的依赖包及其精确的版本号导出成文件
(yourenvname)$pip freeze >requirements.txt
  • 重新创建这个虚拟环境的完全副本,可以创建一个新的虚拟环境,并运行一下命令
(yourenvname)$pip install -r requirements.txt


一起开发项目的时候总是要搭建环境和部署环境的,这个时候必须得有个python第三方包的list,一般都叫做requirements.txt。 如果一个项目使用时virtualenv环境,还好办 pip freeze 就可以解决,但是如果一个项目的依赖list没有维护,而且又是环境混用,那就不好整理的呀,不过,这里安利一个工具 pipreqs,可以自动根据源码生成 requirements.txt

这种方式配合virtualenv 才好使,否则把整个环境中的包都列出来了。
pip freeze > requirements.txt

查看源文件
pip的freeze命令用于生成将当前项目的pip类库列表生成 requirements.txt 文件:

如果要安装requirements.txt中的类库内容,那么你可以执行
pip install -r requirements.txt

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值