繁体   English   中英

如何将项目重新路由到 PyCharm 中的另一个 Python 版本? (错误:'C:\Users\...\python.exe' 处没有 Python)

[英]How do I reroute a project to another Python version in PyCharm? (Error: No Python at 'C:\Users\…\python.exe')

我想用 64 位版本替换 Python 3.8 32 位以安装 face_recognition 模块,所以我删除了以前的版本并尝试通过转到文件 > 设置 > 项目解释器 > 将项目重新路由到新的 Python 版本Show all > Show Paths for Selected Interpreter,并从新文件夹中添加所有 Python 文件并删除旧文件。

愚蠢的他妈的图片 smh

但是,当我尝试安装模块时,它仍然向我显示此错误:

(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 位版本的系统解释器,而是您项目的虚拟环境解释器 虚拟环境的文件在该过程中未更改,需要更新才能再次使用该环境。

  • 系统解释器是使用安装可执行文件安装的 Python 解释器。 在您的情况下,它位于C:\Users\solei\AppData\Local\Programs\Python\Python38\ 您可以安装多个系统解释器,例如在旁边安装 Python 2.7、Python 3.7 和 Python 3.8。

  • 虚拟环境解释器是使用来自 Python 标准库的venv package 创建的另一个解释器的副本。 您可以在系统中拥有许多虚拟环境解释器(例如,每个项目一个或多个)

  • 基本解释器是用作venv package 模板的解释器。 每个虚拟环境解释器都有其运行所需的基本解释器(通常是系统解释器)。 更改或升级基本解释器需要更新虚拟环境。

如果我们快速浏览一下文档,虚拟环境被描述为

一个自包含的目录树,其中包含特定版本的 Python 的 Python 安装,以及许多附加包。

这意味着您可以为每个项目设置一个单独的环境,其中包含自己的包。 环境是管理项目包的一种非常有效的方式,这就是为什么PyCharm 默认建议在系统解释器上创建这样的环境。 简而言之,它允许您拥有两个不同项目使用的同一个 package 的两个不同版本,而包不会相互冲突。

这也解释了为什么您的虚拟环境文件不受升级影响。


现在,不幸的是,我不是 Python 专家。 我不得不花一些时间研究 Python 如何处理 Windows 和 Ubuntu 上的虚拟环境。 似乎环境总是需要系统中存在的基本系统解释器。 如果您删除或更改基本解释器的位置,环境将失败为 function。

正如我在编辑此答案之前提到的,理论上您可以简单地编辑位于虚拟环境根文件夹中的pyenv.cfg文件。 在实践中,这只适用于简单的情况,它不是更新虚拟环境的预期方式。

您需要升级虚拟环境的文件以使用新的系统解释器。 这可能意味着 64 位版本超过 32 位版本,甚至是 Python 的更新版本 - 例如我们从 3.7 升级到 3.8。

  1. 关闭 PyCharm

  2. 检查您要升级到的系统解释器是否在系统路径上

    您可以通过运行快速检查

    python -c "import platform; print(platform.architecture())"

    对你来说,output 应该是这样的

    ('64bit', 'WindowsPE')

    如果您的 output 不同,则需要在步骤 4 中为 Python 可执行文件的绝对路径添加前缀)。

  3. 导航到虚拟环境的目录

    您要查找的目录包含IncludeLibScripts目录以及pyenv.cfg文件。 从您的屏幕截图中,该目录似乎是您项目的根目录,因此在您的情况下:

     cd C:\Users\solei\PycharmProjects\Will2.0\
  4. 升级虚拟环境

    python -m venv --upgrade.

    ...或者如果 Python 不在您的路径上

    C:\Users\solei\AppData\Local\Programs\Python\Python38\python.exe -m venv --upgrade.

    . 在命令中指的是当前目录。

  5. 打开 PyCharm 并验证您的环境是否正常工作

    ...或者只是尝试直接从命令行运行pip 请注意,您需要首先通过运行Scripts\activate.bat批处理文件来激活虚拟环境


如果上述方法不起作用,您可能需要创建一个新的虚拟环境。 您可以轻松创建一个,而无需创建新的 PyCharm 项目。 请参阅此PyCharm 文档以供参考。 但是,您仍然需要再次重新下载所有必需的软件包。

为简单起见,我建议在项目根目录下的.venv文件夹中创建新的虚拟环境。

免责声明

我仅在 Windows 沙箱内的新 Windows 安装上单独测试了 Python 的行为。 我能够安装 32 位 Python,创建虚拟环境,用 64 位版本替换 Python 并升级虚拟环境以使其再次正确启动。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM