记录一下linux下pyenv的问题,解决下载缓慢跟安装失败的问题

本文介绍了一种通过使用国内源来加速Pyenv下Python版本安装的方法,详细步骤包括使用wget从搜狐镜像下载Python版本文件至指定缓存目录,解决安装过程中遇到的依赖库缺失问题,以及设置全局Python版本。

默认pyenv已安装好

由于pyenv install xxx下载速度十分缓慢,甚至经常被墙。。找到一个解决方案并记录下来

使用国内源

#3.7.5是版本号, -P是下载到指定目录,如果没用cache目录必须先创建此目录
wget http://mirrors.sohu.com/python/3.7.5/Python-3.7.5.tar.xz -P ~/.pyenv/cache/

#如果有想下载其他,那么把版本号改掉即可,格式如下 $v 代表版本
wget http://mirrors.sohu.com/python/$v/Python-$v.tar.xz -P ~/.pyenv/cache/

下载完成以后运行命令即可

pyenv install 3.7.5

安装可能报错

说查找不到zlib,那么安装zlib

yum install -y zlib zlib-devel

继续报错

python相关依赖库没有,下面代码直接全部复制运行即可

yum -y groupinstall "Development tools"
yum -y install zlib-devel bzip2-devel openssl-devel ncur
# 避坑指南:Ubuntu 20.04 安装 PyCharm 社区版时你可能遇到的 5 个问题解决方法 最近在给一台新装的 Ubuntu 20.04 工作站配置 Python 开发环境,顺手记录安装 PyCharm 社区版时踩过的几个“坑”。虽然官方流程看起来只有下载、解压、运行脚本三步,但在不同的系统配置和环境下,总有些意料之外的问题会跳出来打断你的节奏。这篇文章不是一份标准安装手册,而是一份从实际故障中提炼出来的“排雷”清单,希望能帮你绕过那些浪费时间的陷阱,让安装过程一气呵成。 ## 1. 从下载到解压:那些看似简单却暗藏玄机的步骤 很多人觉得安装的第一步——下载和解压——不可能出错。但恰恰是这里,最容易因为惯性思维而埋下隐患。我们通常从 JetBrains 官网获取 PyCharm 社区版的 `.tar.gz` 压缩包,问题往往从这里开始。 ### 1.1 解压路径的“隐形”错误 最常见的错误之一,是将压缩包解压到了包含**空格或特殊字符**的目录路径中。Linux 终端对空格的处理与图形界面不同。如果你在图形界面中右键解压到名为“My Projects”的文件夹,那么在终端中尝试进入该目录时,命令 `cd My Projects` 会被解释为切换到“My”目录,并附带一个无法识别的参数“Projects”,导致失败。 **正确的做法是**:要么在解压时选择纯英文、无空格的路径(如 `/home/username/Apps/pycharm`),要么在终端中使用引号或反斜杠转义空格: ```bash cd /home/username/My\ Projects/pycharm-community-2023.3.4/ # 或者 cd "/home/username/My Projects/pycharm-community-2023.3.4/" ``` 另一个容易被忽略的细节是**权限**。如果你使用 `sudo` 命令解压文件,或者解压目标目录(如 `/opt`)需要 root 权限,那么解压出来的文件所有权将属于 `root`。这会导致后续以普通用户身份运行时,PyCharm 无法在配置目录(通常是 `~/.config/JetBrains/` 或 `~/.local/share/JetBrains/`)中写入用户设置、缓存和日志,从而引发各种奇怪的启动失败或功能异常。 > 注意:除非你打算让所有系统用户都使用同一个 PyCharm 实例(通常不推荐),否则最好在用户主目录下解压,并确保文件所有权属于当前用户。可以使用 `ls -la` 命令检查文件所有者。 ### 1.2 依赖库缺失导致的静默失败 PyCharm 是一个基于 Java 的 IDE,运行需要 Java 运行时环境(JRE)。Ubuntu 20.04 默认可能没有安装合适的 Java 版本,或者安装的版本不兼容。当你兴冲冲地进入 `bin` 目录执行 `./pycharm.sh` 时,终端可能没有任何输出就直接退回命令行,或者弹出一个模糊的错误对话框。 **排查与解决**: 首先,检查系统是否安装了 Java,以及版本是否满足要求(PyCharm 通常需要 Java 17 或 11)。在终端中运行: ```bash java -version ``` 如果未安装或版本过低,可以通过以下命令安装 OpenJDK 11(一个稳定且兼容性好的选择): ```bash sudo apt update sudo apt install openjdk-11-jdk ``` 安装完成后,再次验证版本。如果系统中有多个 Java 版本,可能需要使用 `update-alternatives` 来配置默认版本。 除了 Java,一些图形界面依赖也可能缺失,尤其是在最小化安装的 Ubuntu 或服务器版系统上。如果启动脚本报错提及 GTK、libXss、libfontconfig 等,可以批量安装常用依赖: ```bash sudo apt install libxrender1 libxtst6 libxi6 libfreetype6 libfontconfig1 ``` ## 2. 执行启动脚本时的权限与环境陷阱 顺利进入 `bin` 目录后,执行 `./pycharm.sh` 是临门一脚。但这里同样有几个经典绊脚石。 ### 2.1 启动脚本没有执行权限 从官网下载的压缩包解压后,`pycharm.sh` 脚本可能默认不具备可执行权限。直接运行会看到 `Permission denied` 错误。 **解决方法很简单**:为其添加执行权限。 ```bash chmod +x pycharm.sh # 然后运行 ./pycharm.sh ``` ### 2.2 在错误的位置执行脚本 这是一个逻辑错误。你必须确保你的**当前工作目录**就是包含 `pycharm.sh` 的 `bin` 目录。如果你在别的目录下试图用绝对或相对路径执行脚本,PyCharm 可能会因为找不到它依赖的相对路径下的库文件(如 `jbr/`, `lib/` 等)而启动失败。 一个可靠的流程是: 1. 使用 `pwd` 命令确认当前目录。 2. 使用 `ls` 确认能看到 `pycharm.sh`。 3. 再执行 `./pycharm.sh`。 ### 2.3 内存分配与显示服务器问题 有时脚本能运行,但 PyCharm 启动缓慢、界面卡顿,或者直接崩溃。这可能与 JVM 内存分配有关。PyCharm 的配置文件允许我们调整。 首先,找到 PyCharm 的虚拟机选项文件。它通常位于解压目录下的 `bin` 文件夹中,名为 `pycharm64.vmoptions`(针对 64 位系统)。你可以用文本编辑器打开它,例如: ```bash nano /home/username/Apps/pycharm-community-2023.3.4/bin/pycharm64.vmoptions ``` 关键参数是 `-Xmx`,它设置了 JVM 堆内存的最大值。对于中型项目,将其设置为 2GB 可能更流畅: ``` -Xms128m -Xmx2048m ``` 保存文件后重启 PyCharm 生效。 另一个棘手问题是与 **Wayland 显示服务器**的兼容性。Ubuntu 20.04 默认使用 X11,但一些用户或新安装可能使用了 Wayland。PyCharm 的某些版本在 Wayland 下可能存在渲染问题。你可以通过设置环境变量强制其使用 X11 兼容模式来启动: ```bash export _JAVA_AWT_WM_NONREPARENTING=1 ./pycharm.sh ``` 为了使这个设置永久生效,可以将这行 `export` 命令添加到你的 shell 配置文件(如 `~/.bashrc` 或 `~/.zshrc`)中,然后执行 `source ~/.bashrc`。 ## 3. 首次配置与集成过程中的常见障碍 PyCharm 启动后,会进入初始配置向导。这里的问题通常不是阻止启动,而是影响后续的使用体验。 ### 3.1 无法导入或创建桌面快捷方式(Desktop Entry) 按照许多教程的指引,你会在 PyCharm 启动后,通过菜单 `Tools` -> `Create Desktop Entry...` 来创建启动器。但点击后,可能会弹出一个错误提示,或者没有任何反应。 **原因分析**: 这个操作需要向系统目录(如 `/usr/share/applications/`)写入一个 `.desktop` 文件,这需要 **root** 权限。如果你的启动方式(例如直接 `./pycharm.sh`)没有附带足够的权限,或者你的用户账户不在 `sudo` 组中,操作就会失败。 **解决方案有两个**: **方案一:通过终端以提升的权限运行一次 PyCharm** 关闭当前 PyCharm 实例,在终端中使用 `sudo` 运行启动脚本(注意:这会让 PyCharm 以 root 身份运行,首次配置的某些用户级设置可能会保存在 root 目录下,不推荐长期使用,仅用于创建快捷方式): ```bash sudo /home/username/Apps/pycharm-community-2023.3.4/bin/pycharm.sh ``` 启动后,再次尝试 `Tools` -> `Create Desktop Entry...`,选择 `All users`,这次应该能成功。操作完成后,务必关闭这个以 root 运行的 PyCharm,以后都用自己的账户正常启动。 **方案二:手动创建 Desktop Entry 文件(更推荐)** 这是更干净、更可控的方法。手动创建一个 `.desktop` 文件: 1. 使用文本编辑器创建文件: ```bash sudo nano /usr/share/applications/pycharm-community.desktop ``` 2. 填入以下内容(请根据你的实际安装路径修改 `Exec` 和 `Icon` 的路径): ``` [Desktop Entry] Version=1.0 Type=Application Name=PyCharm Community Edition Icon=/home/username/Apps/pycharm-community-2023.3.4/bin/pycharm.png Exec=/home/username/Apps/pycharm-community-2023.3.4/bin/pycharm.sh Comment=Python IDE for Professional Developers Categories=Development;IDE; Terminal=false StartupWMClass=jetbrains-pycharm-ce ``` 3. 保存并退出。然后更新桌面数据库: ```bash sudo update-desktop-database ``` 现在,你应该能在应用程序菜单中找到 PyCharm 的图标了。 ### 3.2 Python 解释器配置失败 首次创建或打开项目时,PyCharm 会要求你配置 Python 解释器。如果你在系统里通过 `apt` 安装了 Python,PyCharm 通常能自动检测到。但如果你使用了 `pyenv`、`conda` 或虚拟环境(`venv`),可能会遇到“未找到解释器”的问题。 **解决思路**: 在项目设置中,手动指定解释器路径。例如,对于一个使用 `venv` 的虚拟环境,路径通常是项目目录下的 `venv/bin/python`。对于 `conda` 环境,路径类似 `/home/username/miniconda3/envs/myenv/bin/python`。 关键在于,确保你选择的 Python 二进制文件路径是**真实存在且可执行的**。你可以先在终端中测试路径: ```bash ls -la /home/username/myproject/venv/bin/python ``` 如果 PyCharm 仍然无法识别,可能是该 Python 环境缺少某些基础开发包。尝试在该虚拟环境中安装 `python3-dev` 包(具体命令取决于你的系统包管理器)。 ## 4. 安装后的性能调优与问题预防 安装并成功运行 PyCharm 后,为了获得更稳定流畅的体验,不妨花几分钟进行一些基础调优。 ### 4.1 调整文件监视器(File Watcher)限制 PyCharm 使用内部的文件监视系统来跟踪项目文件变化。在大型项目或文件数量特别多的目录下,可能会达到系统的 `inotify` 监视上限,导致文件更改无法实时同步到 IDE。 检查当前限制: ```bash cat /proc/sys/fs/inotify/max_user_watches ``` 如果值较小(例如 8192),可以临时提高它(重启后失效): ```bash sudo sysctl fs.inotify.max_user_watches=524288 ``` 要永久生效,编辑系统配置文件: ```bash sudo nano /etc/sysctl.conf ``` 在文件末尾添加一行: ``` fs.inotify.max_user_watches=524288 ``` 保存后,运行 `sudo sysctl -p` 使更改生效。 ### 4.2 配置合适的主题与插件 虽然与功能无关,但一个舒适的主题和必要的插件能极大提升效率。对于 Ubuntu 20.04 的默认主题,PyCharm 的 Darcula(深色)或 Light(浅色)主题都能很好融合。如果遇到菜单字体模糊或大小不适,可以在 `File` -> `Settings` -> `Appearance & Behavior` -> `Appearance` 中调整主题和覆盖默认字体。 插件方面,对于 Python 开发,以下插件值得考虑: | 插件名称 | 主要功能 | 备注 | | :--- | :--- | :--- | | **.ignore** | 生成和管理 `.gitignore` 文件 | 管理版本控制忽略文件非常方便 | | **Rainbow Brackets** | 用不同颜色高亮匹配的括号 | 阅读嵌套复杂的代码时神器 | | **String Manipulation** | 提供多种字符串格式转换操作 | 提升文本处理效率 | | **CodeGlance** | 在编辑器右侧显示代码缩略图 | 快速导航大型文件 | 安装插件通过 `File` -> `Settings` -> `Plugins` 进行,在 Marketplace 中搜索即可。注意不要一次性安装过多,以免影响启动速度和稳定性。 ## 5. 进阶排查:当常规方法都失效时 如果以上步骤都无法解决你的问题,我们需要更系统地排查。 ### 5.1 查看详细日志 PyCharm 会生成详细的日志文件,这是定位复杂问题的关键。日志通常位于用户主目录下的隐藏文件夹中: - IDE 系统日志:`~/.cache/JetBrains/PyCharmCE2023.3/log/idea.log` - 启动日志:在启动脚本时添加 `-Didea.log.path=/tmp/pycharm.log` 参数可以指定日志位置。 例如: ```bash ./pycharm.sh -Didea.log.path=/tmp/pycharm_start.log ``` 启动失败后,检查 `/tmp/pycharm_start.log` 文件,搜索 `ERROR` 或 `Exception` 关键词,往往能直接找到罪魁祸首。 ### 5.2 尝试隔离问题:新建测试用户与干净配置 有时问题源于当前用户环境的特定配置冲突。一个有效的诊断方法是创建一个新的测试用户账户,在该账户下尝试安装和运行 PyCharm。 1. 创建新用户: ```bash sudo adduser testpycharm ``` 2. 切换到新用户: ```bash sudo su - testpycharm ``` 3. 在新用户的主目录下重复安装步骤。 如果在新用户下一切正常,那么问题很可能出在你原用户账户的某个配置文件、环境变量或权限设置上。你可以尝试**重命名或备份**原 PyCharm 配置目录(`~/.config/JetBrains/` 和 `~/.local/share/JetBrains/`),然后重新启动 PyCharm,让它生成一套全新的配置。这能解决很多因配置损坏导致的奇怪问题。 ### 5.3 使用官方工具箱(JetBrains Toolbox)作为替代方案 如果你厌倦了手动处理压缩包、路径和快捷方式,JetBrains 官方提供的 **JetBrains Toolbox** 应用是一个完美的“懒人”解决方案。它是一个统一的管理器,可以安装、更新和卸载所有 JetBrains IDE,包括 PyCharm。 **它的优势在于**: - **自动管理**:自动下载、解压到合适位置,并创建桌面和菜单项。 - **版本管理**:轻松安装多个版本并在它们之间切换。 - **一键更新**:有新版发布时,一键即可更新。 - **干净卸载**:移除 IDE 时能清理相关配置(可选)。 安装 Toolbox 同样简单,从官网下载 `.tar.gz` 包,解压后运行其中的可执行文件即可。它会将自己安装为系统级应用,之后所有 IDE 的管理都通过它来完成,几乎避免了本文提到的所有手动安装问题。对于追求效率、经常需要更新或管理多个 JetBrains 产品的开发者来说,这是值得优先考虑的方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值