龙空技术网

fedora37 下 pyenv 安装 python 常见问题汇总

月下走走 6

前言:

而今看官们对“python压缩包怎么安装”大致比较珍视,大家都需要知道一些“python压缩包怎么安装”的相关文章。那么小编在网上网罗了一些关于“python压缩包怎么安装””的相关知识,希望看官们能喜欢,姐妹们一起来学习一下吧!

pyenv 默认是从 python.org 上面下载源码进行安装的,但网速很慢,有时甚至下载不动。这时可以在 $HOME/.pyenv 目录下创建一个 cache 目录,并将自己下载好的python源码压缩包放进去,重新执行安装命令就会使用这个已经下载好的文件去安装了。

pip install -v 3.7.16

注意下载python源码时要用命令行提示的链接下载,比如下载 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  # 2. 解压openssl,并进入openssl的目录tar -zxvf openssl-1.1.1.tar.gzcd openssl-1.1.1 # 3. 执行config脚本生成预编译文件./config --prefix=/usr/local shared zlib # 4. 编译、安装sudo makesudo make install

然后修改 ~/.bashrc 和 ~/.bash_profile 文件添加如下配置项:

# opensslexport 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 就成功安装上了。

标签: #python压缩包怎么安装 #pip install tkinter报错