支持和帮助

在使用 PyCharm 时,您可能会遇到一些警告或错误消息。本章提供了已知问题解决方案和变通方法的列表。

您还可以找到对您的工作环境进行故障排除和执行基本诊断的建议。

报告的问题

可能的原因

解决方案

项目设置

Preferences/Settings |的可用解释器列表中,Python 解释器被标记为不受支持。项目 | Python 解释器

标记解释器的 Python 版本已过时,PyCharm 不支持

您可以从可用解释器列表中删除不受支持的解释器。有关支持的 Python 版本的更多信息,请参阅Python 支持

代码编辑

PyCharm Editor 限制代码编辑。

您已经安装了IdeaVim插件,因此启用了 vim 编辑模式。

取消选择工具菜单上的Vim 模拟器。有关更多详细信息,请参阅在 PyCharm 中使用 Vim 编辑器仿真。

Python 代码未在编辑器中突出显示。

PY文件与文本文件格式相关联。

Settings/Preferences对话框 ( Ctrl+Alt+S) 中,导航到Editor | 文件类型,从已识别的文件类型列表中选择文本,从文件名模式列表中选择*.py,然后单击。消除

代码完成

代码完成操作不可用。

启用省电模式。

从主菜单中,选择文件并清除省电模式复选框。

您的文件不驻留在内容根目录中,因此它没有获得代码完成所需的类定义和资源。

重组您的源文件。

包含您希望出现在完成建议列表中的类和函数的文件是纯文本文件。

重新考虑并修改(如果需要)源文件的格式。

调试

无法调试 Docker 运行/调试配置;调试操作不可用。

PyCharm 为 Python 运行/调试配置提供调试。

配置基于 Docker 的解释器并在 Docker 容器中调试 Python 脚本

Python 调试器在调试 Gevent 代码时挂起。

未启用 Gevent 兼容模式。

Settings/Preferences对话框 ( Ctrl+Alt+S) 中,导航到Build, Execution, Deployment | Python 调试器并选中Gevent 兼容复选框。

您的 PyQt 代码中报告了一些导入错误。

PyQt 安装在解释器上,但未在应用程序代码中导入。

Settings/Preferences对话框 ( Ctrl+Alt+S) 中,导航到Build, Execution, Deployment | Python调试器,并清除. 此模式默认启用。

调试过程很慢。

调试器不仅在进程以异常终止时停止,而且在每个抛出异常时停止(即使它被捕获并且没有导致进程终止)。

清除Breakpoints对话框(Run | View Breakpoints)中的On raise复选框。

在您第一次尝试附加到本地进程时出现以下错误消息:ptrace: Operation not permitted

这是 Ubuntu 的一个已知问题

确保将kernel.yama.ptrace_scope内核参数设置为 0。您可以使用命令临时更改其值,sudo sysctl kernel.yama.ptrace_scope=0或通过将kernel.yama.ptrace_scope = 0行添加到/etc/sysctl.d/10-ptrace.conf文件来永久设置它。

Cython 加速

显示以下错误消息:

Python.h: no such file or directory.

你缺少 Python 开发的头文件和静态库。

使用包管理器为 Python 开发系统范围安装头文件和静态库。

例如,您可以使用以下命令:

  • 对于 Python 2.x:

    sudo apt-get install python-dev
  • 对于 Python 3.5:

    sudo apt-get install python3-dev
  • 对于 Python 3.6:

    sudo apt-get install python3.6-dev
  • 对于 Python 3.7:

    sudo apt-get install python3.7-dev
  • 对于 Python 3.8:

    sudo apt-get install python3.8-dev

显示以下错误消息:

Command 'gcc' failed with exit status 1.

您缺少 C 编译器。

安装 C 编译器以便为调试器构建 Cython 扩展。

您已经单击了Cython 加速扩展通知中的安装链接,但 PyCharm 反复提示安装它。

您无权写入PyCharm 使用的目录

检查并修改您的权限。

打包

包安装失败。

pip不适用于特定的 Python 解释器,或者不满足任何安装要求。

  • 如果pip不可用,请为所需的 Python 解释器安装它(请参阅相应的故障排除提示

  • 请查阅特定包的产品文档,以确保它可以安装在您的操作系统和目标 Python 解释器中。此外,检查是否应满足任何其他系统要求。

Docker

无法连接到 Docker

Docker 未运行,或者您的 Docker 连接设置不正确。

Settings/Preferences对话框 ( Ctrl+Alt+S) 中,选择Build, Execution, Deployment | Docker,然后在Connect to Docker daemon with为 <您的操作系统> 选择 Docker。例如,如果您使用的是 macOS,请选择Docker for Mac在Docker 设置中查看更多详细信息。

如果您使用的是 Docker Toolbox,请确保 Docker Machine 正在运行,并且在Build、Execution、Deployment |下的Settings/Preferences对话框中正确指定了其可执行文件。Docker | 工具Ctrl+Alt+S

Docker-composer 不适用于使用 unix 套接字设置的 Ubuntu。

Docker-composer 报以下错误:

docker.errors.TLSParameterError:必须通过 client_config 参数提供证书和密钥文件的路径。TLS 配置应该映射 Docker CLI 客户端配置。
  1. 打开项目设置/首选项 ( Ctrl+Alt+S)。

  2. 转到构建、执行、部署 | Docker

  3. 选择TCP 套接字

  4. unix:///var/run/docker.sock引擎 API URL字段中输入。

当您尝试拉取图像时,会显示以下消息:

Failed to parse dockerCfgFile:<your_home_dir>/.docker/config.json,caused by: ... {"credsStore":"wincred"}

使用时验证配置文件无效:http credsStore: //github.com/docker-java/docker-java/issues/806

转到<your_home_dir>/.docker目录并删除config.json文件。

无法使用 Docker 撰写

Docker Compose 可执行文件指定不正确。

在Build, Execution, Deployment |下的Settings/Preferences对话框中指定 Docker Compose 可执行文件 Docker | 工具Ctrl+Alt+S

无法使用端口绑定

容器端口不暴露。

在Dockerfile中使用EXPOSE命令

通过服务连接到 Docker 时 CPU 使用率很高。

When Hyper-V is selected as the backend for the Docker service on Windows, Hyper-V virtual disk files ( .vhdx ) are constantly scanned by the anti-virus software. 这种行为会导致 CPU 的过度消耗,即使没有容器在运行。

从防病毒扫描中排除 Hyper-V 虚拟磁盘文件。

文件观察器您可能会注意到首选项/设置 |中的以下消息。工具 | 文件观察器窗口。

Unknown Scope error

File Watcher 使用了此项目中未定义的范围。

双击观察者并选择一个可用范围或创建一个新范围。

Not found error

该项目使用已删除的全局文件观察器。

使用Remove按钮从列表中删除观察者,消除或对其进行编辑以创建具有相同名称的新全局观察者。

部署

使用 SSH 配置时的错误消息:

Connection to <server> failed: SSH: invalid privatekey: [<key>. SSH: invalid privatekey: <key>

PyCharm 不支持 OpenSSH 密钥的 RFC 4716 格式。

  • 添加私钥以ssh-agent使用该ssh-add命令(请参阅ssh.com上的更多详细信息)

  • 在“添加 Python 解释器”对话框中重复配置步骤。

  • 添加私钥以ssh-agent使用该ssh-add命令(请参阅ssh.com上的更多详细信息)

  • Settings/Preferences对话框 ( Ctrl+Alt+S) 中,选择Build, Execution, Deployment | 部署,然后选择您的 SFTP 部署配置。

    身份验证列表中选择OpenSSH 配置和身份验证代理。

配置文件命令在运行菜单中不可用。

  • 此功能仅在 PyCharm 专业版中可用。

  • 与 PyCharm Professional 捆绑的 Diagrams 插件已被禁用。

检查 PyCharm 的版本并在插件设置中启用图表插件。

在某些情况下,您可能需要执行诊断步骤来确定问题是出现在 PyCharm 中还是在您的工作环境中。以下是有用的提示和技巧的列表。

故障排除提示

故障排除案例

诊断动作

在 PyCharm 和终端窗口中运行应用程序时,您会遇到不同的行为。

使用 PyCharm 项目设置中指定的 python 版本运行脚本:

  1. 在 PyCharm 中,打开Settings对话框Ctrl+Alt+S,导航到Project <项目名称> | Python 解释器

  2. 单击口译员附近的Python Interpreter字段并选择Show All ...。您在项目中使用的解释器将在可用解释器列表中选择。

  3. 单击编辑解释器并复制解释器路径字段中的路径。

  4. 现在,使用复制的路径在终端窗口中运行您的脚本

    <copied python interpreter path> <path to the python script>\my_script.py. 例如,C:\Python27\python.exe C:\Samples\my_script.py

  1. 在 PyCharm 中,打开Preferences对话框Ctrl+Alt+S,导航到Project <project name> | Python 解释器

  2. 单击Python Interpreter字段口译员旁边的并选择Show All ...。您在项目中使用的解释器将在可用解释器列表中选择。

  3. 单击编辑解释器并复制解释器路径字段中的路径。

  4. 现在,使用复制的路径在终端窗口中运行您的脚本

    <copied python interpreter path> <path to the python script>/my_script.py. 例如,/Users/jetbrains/bin/python3 /Users/jetbrains/Samples/my_script.py

如果您的应用程序的行为仍然不同,请联系支持服务pycharm-support@jetbrains.com

没有为特定的 Python 解释器安装所需的包。为特定 Python 解释器安装的软件包版本已过时。

运行以下命令来安装所需的包:

<path to the python executable>\python.exe -mpip install '<package>'

例如,C:\Python27\python.exe -mpip install 'Flask'

执行后,这些命令会安装指定软件包的最新版本。

要安装特定版本的软件包,请使用以下表达式:

  • '<package>==<package_version>'– 安装特定版本的包

  • '<package>>=<package_version>'– 安装大于指定或更高版本的包

  • '<package>~=<package_version>'– 安装与指定版本的包兼容的版本

例如,以下命令会安装与 1.0.2 版本兼容的 Flask:C:\Python27\python.exe -mpip install 'Flask~=1.0.2'

<path to the python executable/python -mpip install '<package>'

例如,/Users/jetbrains/anaconda3/bin/python -mpip install 'Flask'

执行后,这些命令会安装指定软件包的最新版本。

要安装特定版本的软件包,请使用以下表达式:

  • '<package>==<package_version>'– 安装特定版本的包

  • '<package>>=<package_version>'– 安装大于指定或更高版本的包

  • '<package>~=<package_version>'– 安装与指定版本的包兼容的版本

例如,以下命令会安装与 1.0.2 版本兼容的 Flask:/Users/jetbrains/anaconda3/bin/python -mpip install 'Flask~=1.0.2'

尝试安装软件包时,您发现 pip 不适用于特定的 Python 解释器。

尝试从标准库引导 pip:

<path to the python executable>\python.exe -m ensurepip --default-pip

例如,C:\Python27\python.exe -m ensurepip --default-pip

<path to the python executable/python -m ensurepip --default-pip

例如,/Users/jetbrains/anaconda3/bin/python -m ensurepip --default-pip

有关 pip 安装的更多信息,请参阅Packaging.python.org

最后修改时间:2021 年 8 月 26 日