anaconda virtual env从全球导入模块

时间:2015-02-07 03:09:21

标签: python anaconda env

在Windows PowerShell中,我使用

在Anaconda中创建了一个虚拟环境
>create conda -n test python=2.7.8

我使用

激活它
>activate test
activating environment "test"...

测试环境不包含任何包。 Python是唯一的东西。我检查了test \ Lib \ site-packages文件夹,它是空的。 我开始了python

>python
>>>import pandas
>>>pandas.Series(range(1,5))
0  1
1  2
2  3
3  4
dtype: int64

我预计会出现错误消息,因为此虚拟环境中没有安装pandas。相反,它似乎是从安装了pandas的全球Anaconda环境中导入大熊猫。

我认为虚拟环境应该是孤立的。我误解了他们应该如何工作吗? 如果他们被认为是孤立的,问题可能是什么?

2 个答案:

答案 0 :(得分:0)

新的堆栈溢出,但我想我可以提供帮助。首先,我需要运行的命令有点不同(我在Linux上)。也就是说,实际上,虚拟环境应该如何工作。要尝试的一些事情:conda create --dry-run -n test python=2.7.8看看是否正在安装大熊猫(我不知道为什么会这样)。另一个想法,当你activate test提示实际上改变为venv?也许请参阅:virtualenv-in-powershell

答案 1 :(得分:0)

Windows有一点特质,可能会导致像这样令人困惑的情况,即它总是隐式地将.(当前目录)放在搜索路径的前面。这意味着如果您在启动python时当前位于Anaconda目录中,它将在该目录中运行python.exe,无论PATH的其余部分是什么(activate命令,如果你不知道,通过修改PATH变量中的目录顺序来工作。)

解决方案是在启动Python之前远离Anaconda目录。