如何离开/退出/停用Python virtualenv

2019/12/07 21:15
阅读数 35

我正在使用virtualenv和virtualenvwrapper。 我可以使用workon命令在virtualenv之间切换。

me@mymachine:~$ workon env1
(env1)me@mymachine:~$ workon env2
(env2)me@mymachine:~$ workon env1
(env1)me@mymachine:~$ 

但是,如何退出所有虚拟机并再次在我的真实计算机上工作? 现在,我唯一要回到的方式

me@mymachine:~$ 

是退出外壳并开始一个新的外壳。 真烦人。 有没有什么要执行的命令,如果是的话,这是什么? 如果这样的命令不存在,我将如何创建它?


#1楼

在处理安装程序脚本时,我遇到了同样的问题。 我看了一下bin / activate_this.py做了什么,并将其反转了。

例:

#! /usr/bin/python
# -*- coding: utf-8 -*-
import os
import sys

# Path to virtualenv
venv_path = os.path.join('/home', 'sixdays', '.virtualenvs', 'test32')

# Save old values
old_os_path = os.environ['PATH']
old_sys_path = list(sys.path)
old_sys_prefix = sys.prefix


def deactivate():
    # Change back by setting values to starting values
    os.environ['PATH'] = old_os_path
    sys.prefix = old_sys_prefix
    sys.path[:0] = old_sys_path


# Activate the virtualenvironment
activate_this = os.path.join(venv_path, 'bin/activate_this.py')
execfile(activate_this, dict(__file__=activate_this))


# Print list of pip packages for virtualenv for example purpose
import pip
print str(pip.get_installed_distributions())

# Unload pip module
del pip

# Deactivate/switch back to initial interpreter
deactivate()

# Print list of initial environment pip packages for example purpose
import pip
print str(pip.get_installed_distributions())

我不确定100%是否可以正常使用。 我可能完全错过了一些东西。


#2楼

我定义了一个别名 workoff ,与workon相反:

alias workoff='deactivate'

很容易记住:

[bobstein@host ~]$ workon django_project
(django_project)[bobstein@host ~]$ workoff
[bobstein@host ~]$

#3楼

使用:

$ deactivate 

如果这不起作用,请尝试

$ source deactivate

任何知道Bash source如何工作的人都会认为这很奇怪,但是围绕virtualenv的一些包装器/工作流将其实现为source activate的补充/对应。 你的旅费可能会改变。


#4楼

要激活Python虚拟环境:

$cd ~/python-venv/
$./bin/activate

停用:

$deactivate

#5楼

您可以使用virtualenvwrapper为了缓解你的工作方式virtualenv

安装virtualenvwrapper

pip install virtualenvwrapper

如果使用的是标准外壳,则使用Oh My Zsh打开~/.bashrc~/.zshrc .zshrc 。 添加这两行:

export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh

要激活现有的virtualenv,请使用命令workon

$ workon myenv
(myenv)$

为了停用您的virtualenv:

(myenv)$ deactivate

这是我的教程 ,逐步介绍了如何安装virtualenv和virtualenvwrapper。

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部