网站首页 > 开源技术 正文
- pyenv 默认是从 python.org 上面下载源码进行安装的,但网速很慢,有时甚至下载不动。这时可以在 $HOME/.pyenv 目录下创建一个 cache 目录,并将自己下载好的python源码压缩包放进去,重新执行安装命令就会使用这个已经下载好的文件去安装了。
pip install -v 3.7.16
注意下载python源码时要用命令行提示的链接下载,比如下载 Python-3.7.16.tar.xz,命令行提示的链接是:
https://www.python.org/ftp/python/3.7.16/Python-3.7.16.tar.xz
- 安装命令执行完后发现好多形如:ModuleNotFoundError: No module named '_xxx'
这样的错误,这里汇报一下缺少对应模块应该安装什么包。
缺少模块 | 安装命令 | 说明 |
_ctypes | sudo dnf install libffi-devel | |
readline | sudo dnf install readline-devel | |
_bz2 | sudo dnf install bzip2-devel | |
_curses | sudo dnf install ncurses-devel | |
_lzma | sudo dnf install xz-devel | |
_sqlite3 | sudo dnf install sqlite-devel | |
_tkinter | sudo dnf install python3-tkinter |
- 如果遇到 can't decompress data; zlib not available 这样的错误提示,可以安装如下包:
sudo dnf install zlib-devel
- ModuleNotFoundError: No module named '_ssl'
这个比较在我实际安装时比较特殊,下面单独说一下安装 openssl 的步骤
# 1. 下载openssl安装文件
wget http://www.openssl.org/source/openssl-1.1.1.tar.gz
# 2. 解压openssl,并进入openssl的目录
tar -zxvf openssl-1.1.1.tar.gz
cd openssl-1.1.1
# 3. 执行config脚本生成预编译文件
./config --prefix=/usr/local shared zlib
# 4. 编译、安装
sudo make
sudo make install
然后修改 ~/.bashrc 和 ~/.bash_profile 文件添加如下配置项:
# openssl
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib64
修改后使用命令 source ~/.bashrc 或 source ~/.bash_profile 使其生效。
以上步骤设置完成后,就可以再用 pyenv 命令进行安装了,如果还是不行,可以尝试在命令行设置下面这些环境变量:
CONFIGURE_OPTS="-with-openssl=/usr/local"
CPPFLAGS="-I/usr/local/include"
LDFLAGS="-L/usr/local/lib"
最后再次执行 pyenv 的安装命令,就可以安装成功了。
pip install -v 3.7.16
以上就是我在 Fedora37 桌面版系统上通过 pyenv 安装 python 时遇到的问题。解决了上述的问题,python 就成功安装上了。
猜你喜欢
- 2024-09-12 python安装并使用虚拟环境virtualenv
- 2024-09-12 Python 开发工具链全解(python开发工具选择)
- 2024-09-12 送给Python初学者的几点建议(python初学者推荐书籍)
- 2024-09-12 JSShell:一个基于python的交互式Shell
- 2024-09-12 多人在用,一款实用的Python开发环境管理神器
- 2024-09-12 AI革新OCR:LLM-Aided OCR,让PDF文本提取飞起来!
- 2024-09-12 python使用(一) virtualenv实现原理解析
- 2024-09-12 使用python的虚拟环境virtualenv(python虚拟环境作用)
- 2024-09-12 终极版Python学习教程:一篇文章讲清楚Python虚拟环境
- 2024-09-12 编程语言哪家强?谁是王者谁是青铜?
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)