代码之家  ›  专栏  ›  技术社区  ›  enamoria

virtualenv怪异行为:强制使用系统python解释器

  •  0
  • enamoria  · 技术社区  · 8 年前

    编辑:TL;DR:我可以看出我的问题模棱两可。总结一下,您可以理解,无论我做什么,virtualenv都继续使用系统python解释器(来自/usr/bin/),即使我通过 virtualenv -p . 奇怪的是如果我用 virtualenv -p python3 ,它起作用了。


    我有水蟒2,而且蟒蛇在路上。当前 python virtualenv pip 来自水蟒2。
    当我打字时 python

    Python 2.7.14 |Anaconda, Inc.| (default, Dec  7 2017, 17:05:42) 
    [GCC 7.2.0] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> 
    

    当我创造新的 来源,it, which python python

    Python 2.7.12 (default, Nov 19 2016, 06:48:10) 
    [GCC 5.4.0 20160609] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> 
    

    据我所知, 虚拟人 安装了virtualenv的解释器( virtualenv --help 是这样说的)。那个 2.7.12 2.7.14 ).

    所以我想“好吧,也许我的水蟒出了问题 python . 让我们用另一个”。我用了另一个 python -p (我的机器上安装了许多python版本。这是一个远程服务器,有很多人在访问它,我刚刚指出了我的一个同事的 . 我可以肯定这里没有环境冲突,我们都使用virtualenv来进行项目并控制每个人的 $PATH 首选项通过 ~/.bash_aliases )

    没有帮助。我开始感到困惑。好吧也许吧 虚拟人 坏了。也许 吧 坏了。也许 吧 anaconda 坏了。检查了路径,似乎正常。重新安装了所有东西,一点帮助都没有。

    现在,我必须使用系统 python /usr/bin/python ,但是 /path/to/virtualenv/python sudo 任何地方)。这里没什么变化,但我觉得很不开心,非常想知道原因。
    谁能给我个建议吗?我会非常感激的
    提前谢谢!

    1 回复  |  直到 8 年前
        1
  •  0
  •   Community Mohan Dere    6 年前

    有一面旗帜 --总是复制 在virtualenv中,它可以帮助您复制所有文件,而不是使用符号链接。

    总是复制文件而不是符号链接。

    virtualenv -p python3 --always-copy python_env
    

    这基本上能解决你的问题。