Linux Mint下PyCharm编译Cython扩展报错求助
解决Linux Mint下Snap版PyCharm的Cython编译扩展错误
错误核心原因
Snap包的沙箱机制导致PyCharm的插件目录(/snap/pycharm-community/...)是只读文件系统,PyDev调试组件尝试写入该目录时触发权限错误。
可行解决办法
改用官网版PyCharm(最彻底)
直接从JetBrains官网下载PyCharm社区版的tar.gz安装包,解压后即可运行。这种安装方式不受Snap沙箱限制,完全拥有文件读写权限,从根源避免该问题。
步骤:- 下载对应版本的tar.gz包
- 解压到
/opt或用户目录下(如~/tools) - 运行解压目录中的
bin/pycharm.sh启动,可通过桌面创建快捷方式方便后续使用
手动指定PyDev编译缓存目录
让PyDev将编译生成的文件写到用户有权限的目录,而非Snap的只读目录:- 打开PyCharm,点击顶部菜单
Help->Edit Custom VM Options - 在打开的文件末尾添加一行:
替换-Dpydevd.frame_eval.cache.dir=/home/你的用户名/.cache/pydev你的用户名为实际用户名,也可以指定其他用户可写的路径 - 保存文件并重启PyCharm
- 打开PyCharm,点击顶部菜单
禁用Frame Evaluator功能
如果不需要PyDev的调试加速功能,直接关闭该特性:- 打开
File->Settings(或Ctrl+Alt+S) - 导航到
Build, Execution, Deployment->Python Debugger - 取消勾选
Enable frame evaluator选项 - 点击
Apply并重启PyCharm
- 打开
临时挂载Snap目录为可写(不推荐)
该方法仅临时生效,重启系统后会恢复只读状态,且可能破坏Snap包的完整性:
执行以下命令(替换315为你的PyCharm Snap版本号):sudo mount -o remount,rw /snap/pycharm-community/315完成编译后再改回只读:
sudo mount -o remount,ro /snap/pycharm-community/315
内容的提问来源于stack exchange,提问作者Андрей Модернистов
相关产品推荐
相关产品推荐

