创建 python 虚拟环境及简单使用
admin
2023-07-31 01:50:55
0

进行不同的 python 项目开发,有的时候会遇到这样的情况:python 版本不一样,使用的软件包版本不一样。这种问题最佳的解决办法是使用 virtualenv 为不同的项目搭建独立的 python 环境。

virtualenv

安装

sudo pip install virtualenv

创建

mkdir myproject
cd myproject
virtualenv myproject_ENV
  1. 创建项目文件夹 myproject

  2. 进入项目目录

  3. 创建虚拟环境 myproject_ENV

这时候会发现在 myproject 目录下新增了一个 myproject_ENV 的文件夹。

使用

cd myproject_ENV
source ./bin/activate
  1. 进入虚拟环境目录 myproject_ENV

  2. 激活

这时候在命令行的最左边会显示该虚拟环境的名称。不妨使用下面的命令查看一下变化:

which python
which pip
pip list

如果想要退出虚拟环境,使用这个命令就可以了:

deactivate

扩展包 Virtualenvwrapper

Virtualenvwrapper 的作用是:更方便的创建/激活/管理/销毁虚拟环境。

安装及配置

sudo pip install virtualenvwrapper

默认安装完成后并不能使用 Virtualenvwrapper 的命令,需要进行配置,在 ~/.bashrc 文件中添加:

if [ `id -u` != \'0\' ]; then

  export VIRTUALENV_USE_DISTRIBUTE=1        # <-- Always use pip/distribute
  export WORKON_HOME=$HOME/.virtualenvs       # <-- Where all virtualenvs will be stored
  source /usr/local/bin/virtualenvwrapper.sh
  export PIP_VIRTUALENV_BASE=$WORKON_HOME
  export PIP_RESPECT_VIRTUALENV=true

fi

之后运行命令:

source ~/.bashrc

使用

mkvirtualenv myproject_ENV    # 创建虚拟环境 myproject_ENV
workon myproject_ENV          # 激活 myproject_ENV
deactivate                    # 离开
rmvirtualenv myproject_ENV    # 删除 myproject_ENV
lsvirtualenv                  # 虚拟环境列表

其他命令

showvirtualenv [env]             # 显示指定环境的详情。
rmvirtualenv [env]               # 移除指定的虚拟环境,移除的前提是当前没有在该环境中工作。如在该环境工作,先使用deactivate退出。
cpvirtualenv [source] [dest]     # 复制一份虚拟环境。
cdvirtualenv [subdir]            # 把当前工作目录设置为所在的环境目录。
cdsitepackages [subdir]          # 把当前工作目录设置为所在环境的sitepackages路径。
add2virtualenv [dir] [dir]       # 把指定的目录加入当前使用的环境的path中,这常使用于在多个project里面同时使用一个较大的库的情况。
toggleglobalsitepackages -q      # 控制当前的环境是否使用全局的sitepackages目录。

参考

  1. virtualenv documentation: https://virtualenv.pypa.io/en/latest/

  2. virtualenvwrapper documentation: http://virtualenvwrapper.readthedocs.org/en/latest/

相关内容

热门资讯

Mobi、epub格式电子书如... 在wps里全局设置里有一个文件关联,打开,勾选电子书文件选项就可以了。
定时清理删除C:\Progra... C:\Program Files (x86)下面很多scoped_dir开头的文件夹 写个批处理 定...
scoped_dir32_70... 一台虚拟机C盘总是莫名奇妙的空间用完,导致很多软件没法再运行。经过仔细检查发现是C:\Program...
500 行 Python 代码... 语法分析器描述了一个句子的语法结构,用来帮助其他的应用进行推理。自然语言引入了很多意外的歧义,以我们...
小程序支付时提示:appid和... [Q]小程序支付时提示:appid和mch_id不匹配 [A]小程序和微信支付没有进行关联,访问“小...
pycparser 是一个用... `pycparser` 是一个用 Python 编写的 C 语言解析器。它可以用来解析 C 代码并构...
微信小程序使用slider实现... 众所周知哈,微信小程序里面的音频播放是没有进度条的,但最近有个项目呢,客户要求音频要有进度条控制,所...
65536是2的几次方 计算2... 65536是2的16次方:65536=2⁶ 65536是256的2次方:65536=256 6553...
Apache Doris 2.... 亲爱的社区小伙伴们,我们很高兴地向大家宣布,Apache Doris 2.0.0 版本已于...
项目管理和工程管理的区别 项目管理 项目管理,顾名思义就是专注于开发和完成项目的管理,以实现目标并满足成功标准和项目要求。 工...