我想用64位版本替换Python 3.8 32位,以安装面部识别模块,因此我删除了以前的版本,并尝试通过转到File>;将项目重新路由到新的Python版本;设置>;项目口译员>;全部显示>;显示所选解释器的路径,并从新文件夹中添加所有Python文件并删除旧文件
但是,当我尝试安装模块时,它仍然显示此错误:
(Will2.0) C:\Users\solei\PycharmProjects\Will>pip install face_recognition
No Python at 'C:\Users\solei\AppData\Local\Programs\Python\Python38-32\python.exe'
我也尝试过访问Windows系统属性,并更改其中显示“Python38-32”的所有内容,但仍然不起作用当我创建一个新环境时,它确实可以工作,所以至少我知道Python安装正确。正是这一个环境让我大吃一惊(顺便说一句,我不想为此做一个新项目。我已经在其中安装了很多模块。)
您选择的解释器不是您用64位版本替换的系统解释器,而是您的项目的virtual environment interpreter。虚拟环境的文件在此过程中没有更改,需要先更新,然后才能再次使用该环境
系统解释器是使用安装可执行文件安装的Python解释器。在您的例子中,它位于
C:\Users\solei\AppData\Local\Programs\Python\Python38\
。您可以安装多个系统解释器,例如并排安装Python2.7、Python3.7和Python3.8虚拟环境解释器是使用Python标准库中的
venv
包创建的另一个解释器的副本。系统中可以有许多虚拟环境解释器(例如,每个项目一个或多个)基本解释器是用作
venv
包模板的解释器。每个虚拟环境解释器都有其运行所需的基本解释器(通常是系统解释器)。更改或升级基本解释器需要更新虚拟环境如果我们快速查看一下documentation,虚拟环境被描述为
这意味着您可以为每个项目设置一个单独的环境,其中将包含它自己的包。环境是管理项目包的一种非常有效的方式,这就是为什么默认情况下,PyCharm建议通过系统解释器创建这样的环境。简而言之,它允许两个不同的项目使用同一包的两个不同版本,而不会使包相互冲突
这也解释了为什么您的虚拟环境文件不受升级的影响
现在,我不幸不是Python专家。我不得不花一些时间研究Python如何在Windows和Ubuntu上处理虚拟环境。环境似乎总是需要系统中存在的基本系统解释器。如果删除或更改基本解释器的位置,环境将无法正常工作
正如我在编辑这个答案之前提到的,理论上,您可以简单地编辑虚拟环境根文件夹中的
pyenv.cfg
文件。实际上,这只适用于简单的情况,而不是更新虚拟环境的预期方式。您需要升级虚拟环境的文件以使用新的系统解释器。这可能意味着64位版本超过了32位版本,甚至是更新版本的Python——比如我们从3.7升级到3.8
Close PyCharm
检查要升级到的系统解释器是否在系统路径上
您可以通过运行快速检查
对于您来说,输出应该如下所示
如果输出不同,则需要在步骤4)中为Python可执行文件的绝对路径添加前缀
导航到虚拟环境的目录
您正在查找的目录包含
Include
、Lib
和Scripts
目录以及pyenv.cfg
文件。从您的屏幕截图来看,此目录似乎是项目的根目录,因此在您的情况下:升级虚拟环境
。。。或者如果Python不在您的路径上
命令中的
.
引用当前目录打开PyCharm并验证您的环境是否正常工作
。。。或者直接从命令行运行
pip
。注意,首先需要运行Scripts\activate.bat
批处理文件来activate the virtual environment如果上述方法不起作用,您可能必须创建一个新的虚拟环境。你可以很容易地创造一个不要做一个新的PyCharm项目。请参阅此PyCharm documentation以供参考。但是,您仍然需要重新下载所有必需的包
为了简单起见,我建议在项目根目录中的
.venv
文件夹中创建新的虚拟环境免责声明
我仅在Windows沙盒中的新Windows安装上测试了Python的行为。我能够安装32位Python,创建一个虚拟环境,用64位版本替换Python,并升级虚拟环境使其再次正确启动
相关问题 更多 >
编程相关推荐