【问题标题】:Update python version in existing virtualenv in ubuntu [duplicate]更新ubuntu上现有virtualenv中的python版本[重复]
【发布时间】:2016-07-01 01:49:21
【问题描述】:

我正在尝试在我现有的虚拟环境中更新 python 版本。我使用以下步骤安装了 python

wget https://www.python.org/ftp/python/2.7.11/Python-2.7.11.tgz
tar xfz Python-2.7.11.tgz
cd Python-2.7.11/
./configure --prefix /usr/local/lib/python2.7.11 --enable-ipv6
make
sudo make install

我也检查了版本,它是否正确

/usr/local/lib/python2.7.11/bin/python -V
Python 2.7.11

我有一个名为 test 的现有 virtualenv,我想在这个环境中使用 python2.7.11。它尝试使用

workon test --python /usr/local/lib/python2.7.11/bin/python

但是python的版本只显示为旧版本

python -V
Python 2.7.6

如果我创建一个新环境,它可以正常工作

mkvirtualenv test2 -p /usr/local/lib/python2.7.11/bin/python
python -V
Python 2.7.11

我试图找到解决方案,但无法弄清楚如何在现有虚拟环境中修改 python 版本。 任何帮助找出解决方案将不胜感激。

谢谢

【问题讨论】:

    标签: python virtualenv virtualenvwrapper


    【解决方案1】:

    virtualenv 中的 python 解释器是确定的。但是虚拟环境是一次性的,所以我建议你用好的 python 解释器创建一个新的。

    【讨论】:

    • 我在这个虚拟环境中安装了很多东西,我的网站只在这个虚拟环境中运行。我不想重新设置所有内容。有没有办法更新python?
    • 您可以轻松地重建它。在旧的 venv 中,pip freeze > /tmp/requirements.txt 将您安装的所有内容保存在一个文件中。在新的 virtualenv 中,pip install -r /tmp/requirements.txt 重新安装所有内容。
    • 它不只是安装东西,我正在运行 supervisor、celery、flower、django、elastic search 等。除了安装它们之外,我还需要重新设置所有我想避免的配置。
    • 那么您的 virtualenv 文件夹应该只是一个执行上下文。在其中你应该找到 python/pip/... 二进制文件和库。您的所有代码和外部部分都应该在其他地方。
    • 同意 - virtualenv 目录应该只包含 python 和 pip 安装的东西。当人们说“在 virtualenv 中运行东西”时,这可能是一种混淆,而“in”是什么意思......
    猜你喜欢
    • 2019-01-25
    • 2017-11-14
    • 1970-01-01
    • 2018-03-07
    • 2011-09-23
    • 2017-03-04
    • 1970-01-01
    • 2020-11-30
    • 2018-08-16
    相关资源
    最近更新 更多