无法强制virtualenv使用Python 3.5

时间:2018-06-13 14:47:34

标签: python virtualenv

我在使用Python 3.6.5中的请求包时遇到了问题。如果我运行Python 3.5,它可以工作,但如果我运行3.6.5则不行。

我一直试图通过使用虚拟环境来解决这个问题,但没有任何运气。我用这个创建了virtualenv:

mkvirtualenvwrapper -p /usr/local/bin/python3.5 env_test

当我激活该环境并输入python -V时,它告诉我它仍在使用3.6.5。当我输入python3.5 -V时,它告诉我它使用的是Python 3.5.5,而which python3.5表示它来自我的虚拟环境文件夹。

我想virtualenv也在环境中安装其他版本的Python,并使用3.6.5作为默认设置,我不明白为什么,但我需要它来访问python3.5时我输入python。我能在这做什么?

1 个答案:

答案 0 :(得分:1)

正如您在评论中提到的,您设置了别名,当您键入python时,它会自动运行python3.6

要解决这个问题,你必须避免使用别名。你必须在你的shell中查找alias。如果是bash,你可以通过键入unalias python删除别名,但是很可能,这只会在你当前所在的shell中有效。下次你打开一个终端或者需要执行你的{ {1}}和/或.bashrc,这可能会再次执行。您可以在这些文件中查找别名的设置位置,然后删除该行。或者,如果别名设置在控件之外的文件中,则只需将.bash_profile添加到.bashrc即可。

或者,如果您想暂时避开它,请将命令括在'或'中。unalias ptyhon将避免使用别名。

一旦别名不合适,'python'可能会指向虚拟环境中的某个区域,该区域应该是指向正确版本的python的符号链接。