我将 Python 更新为更新版本,现在我的 virtualenv 中的 运行 python 打印出错误

I updated Python to a newer version, now running python in my virtualenv prints out errors

当我尝试 运行 python

时出现此错误
(myvenv) C:\Users\SONY\Desktop\djangoproject>python
    Fatal Python error: Py_Initialize: unable to load the file system codec
    ModuleNotFoundError: No module named 'encodings'

    Current thread 0x000021f0 (most recent call first):

我使用 window 7,它 运行 在 CMD 中没有错误,但是当我激活 virtualenv 时它仍然打印出那个错误。我之前安装了 Python 3.6.2,我卸载它并安装了 3.6.7,这就是我的问题开始的时候。

注意:我用 3.6.2 创建了 Virtualenv

有什么办法可以解决这个问题吗??

我们需要更多信息来帮助您,例如您有哪种 windows?您是如何尝试更新 Python 的?以及关于你具体做了什么的更多信息,无论它通常在 win 10 上发生什么,所以请尝试以下我已经修复它的步骤:

1.Open 您的“环境变量”(在“系统属性”下)。
2.In 打开 window,select 'Path' 行,然后单击“编辑...”按钮。
3.There应该是两个环境变量C:\Python37-32\Scripts\和C:\Python37-32\然后点击'OK'(确保检查这些路径值是否与您 Python 安装的位置和版本相对应。)
4.Next,在“Environment Variables”window 的顶部,查找 PYTHONHOME 变量并确保它也设置为 C:\Python37-32
如果还是不行,还是一样的问题,我给你换个方法试试: 关闭所有 CMD 或控制台模拟器。

转到系统环境设置并清除所有旧的Python 路径或环境设置。确保同时检查用户和系统设置中的 PATH

再试一次python -V 看看你能不能运行

如果您删除了所有 Python 环境设置,我建议您重新安装 Python 并在安装过程中打开“添加 Python 到 PATH”设置。

我已经修好了。我听从了@FlipperPA 的建议并在新 python 下重新创建了新的 virtualenv。以下是我的处理方式:

C:\Users\SONY\Desktop\djangoproject> oldvenv\Scripts\activate
(oldvenv) C:\Users\SONY\Desktop\djangoproject> pip3 freeze —local > requirements.txt

pip3 freeze —local > requirements.txt 生成一个文件,其中包含您已安装的所有软件包的版本。稍后可以使用它来重新安装所有这些软件包。

然后我停用了 virtualenv oldvenv\Scripts\deactivate 并删除了它,即删除了 virtualenv 文件夹。然后我使用 python3 -m venv myvenv 创建了一个新的虚拟环境。 最后我 运行 pip3 install -r requirements.txt,一切又恢复正常了!

我希望有人觉得这有用。