【Python教程】virtualenv隔离环境的问题解析

零 Python教程评论92字数 1273阅读4分14秒阅读模式

所需工具:

Python

聪明的大脑文章源自灵鲨社区-https://www.0s52.com/bcjc/pythonjc/12557.html

勤劳的双手文章源自灵鲨社区-https://www.0s52.com/bcjc/pythonjc/12557.html

 文章源自灵鲨社区-https://www.0s52.com/bcjc/pythonjc/12557.html

注意:本站只提供教程,不提供任何成品+工具+软件链接,仅限用于学习和研究,禁止商业用途,未经允许禁止转载/分享等文章源自灵鲨社区-https://www.0s52.com/bcjc/pythonjc/12557.html

 文章源自灵鲨社区-https://www.0s52.com/bcjc/pythonjc/12557.html

教程如下

virtualenv介绍

virtualenv为应用提供了隔离的python运行环境,解决了不同应用间多版本的冲突问题。
virtualenv把系统Python复制一份到virtualenv的环境,用命令source venv/bin/activate进入一个virtualenv环境时,virtualenv会修改相关环境变量,让命令python和pip均指向当前的virtualenv环境。
安装 virtualenv文章源自灵鲨社区-https://www.0s52.com/bcjc/pythonjc/12557.html

virtualenv应用

[php]
pip3 install virtualenv
[/php]文章源自灵鲨社区-https://www.0s52.com/bcjc/pythonjc/12557.html

创建项目文章源自灵鲨社区-https://www.0s52.com/bcjc/pythonjc/12557.html

[php]
mkdir myprojectcd myproject/
[/php]文章源自灵鲨社区-https://www.0s52.com/bcjc/pythonjc/12557.html

创建一个新的python环境文章源自灵鲨社区-https://www.0s52.com/bcjc/pythonjc/12557.html

[php]
virtualenv --no-site-packages py_new
# 参数:--no-site-packages 已经安装到系统Python环境中的所有第三方包都不会复制过来
[/php]

新建的Python环境被放到当前目录下的py_new目录。
有了py_new环境,可以用source进入该环境:

[php]
source py_new/bin/activate
[/php]

pip安装的包都被安装到py_new这个环境下,系统Python环境不受任何影响

[php]
pip install pandas
[/php]

退出当前的py_new环境

[php]
deactivate
[/php]

退出后pip或python均是在系统Python环境下执行

补充:virtualenv创建“隔离”的Python运行环境

Windows 安装mkvirtualenv

[php]
pip install virtualenv
pip install virtualenvwrapper
[/php]

新建虚拟python环境:

1.创建python工程目录:
2.创建一个独立的Python运行环境,命名为redis:

[php]
virtualenv redis
[/php]

3.激活环境:(或workon)

[php]
cd D:\05_python_virtualenv\redis\Scripts
.\activate
[/php]

注意到命令提示符变了,有个(venv)前缀,表示当前环境是一个名为venv的Python环境

4.退出当前的venv环境:deactivate

出现错误:virtualenv: error: unrecognized arguments: --no-site-packages
使用virtualenv --version,看到版本大于20,就默认这个参数,可以取消掉–no-site-packages

[php]
virtualenvwrapper --help
rmvirtualenv redis
[/php]

在win电脑的环境变量-系统变量:新增:WORKON_HOME,为D:\05_python_virtualenv

零
  • 转载请务必保留本文链接:https://www.0s52.com/bcjc/pythonjc/12557.html
    本社区资源仅供用于学习和交流,请勿用于商业用途
    未经允许不得进行转载/复制/分享

发表评论