首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Pyenv的python缺少bzip2模块

Pyenv的python缺少bzip2模块
EN

Stack Overflow用户
提问于 2020-03-20 13:29:18
回答 3查看 16.9K关注 0票数 12

我使用pyenv来安装python3.8.2并创建一个虚拟and。在virtualenv中,我使用pipenv安装pandas

然而,当我进口大熊猫时,我得到了以下信息:

代码语言:javascript
运行
复制
  [...]
  File "/home/luislhl/.pyenv/versions/poc-prefect/lib/python3.8/site-packages/pandas/io/common.py", line 3, in <module>
    import bz2
  File "/home/luislhl/.pyenv/versions/3.8.2/lib/python3.8/bz2.py", line 19, in <module>
    from _bz2 import BZ2Compressor, BZ2Decompressor
ModuleNotFoundError: No module named '_bz2'

在googling之后,我发现一些人建议我在我的系统中安装bzip2库之后,从源代码中重新构建Python。

然而,在尝试用sudo dnf install bzip2-devel安装它之后,我发现我已经安装了它。

据我所知,在安装某些版本时,pyenv会从源代码中构建python。那么,为什么它不能在构建时包含bzip2模块呢?

如何使用pyenv重新构建Python以使bzip2可用?我在费多拉30岁

提前感谢

UPDATE I尝试在详细模式下安装另一个版本的python,以查看编译输出。

在汇编的末尾有这样的信息:

代码语言:javascript
运行
复制
WARNING: The Python bz2 extension was not compiled. Missing the bzip2 lib?

但正如我前面所说的,我检查我已经在我的系统中安装了bzip2。所以我不知道该怎么办。

EN

回答 3

Stack Overflow用户

发布于 2022-11-04 08:32:42

关于Ubuntu 22 LTS

Pyenv在Python安装中缺少库的问题

在修复之前:

代码语言:javascript
运行
复制
$> pyenv install 3.11.0

指挥结果:

代码语言:javascript
运行
复制
pyenv: /home/user/.pyenv/versions/3.11.0 already exists
continue with installation? (y/N) y
Downloading Python-3.11.0.tar.xz...
-> https://www.python.org/ftp/python/3.11.0/Python-3.11.0.tar.xz


Installing Python-3.11.0...
WARNING: The Python bz2 extension was not compiled. Missing the bzip2 lib?
WARNING: The Python readline extension was not compiled. Missing the GNU readline lib?
WARNING: The Python lzma extension was not compiled. Missing the lzma lib?

TLDR;

修复方法:

代码语言:javascript
运行
复制
sudo apt-get install build-essential zlib1g-dev libffi-dev libssl-dev libbz2-dev libreadline-dev libsqlite3-dev liblzma-dev

结果

修复后:

代码语言:javascript
运行
复制
$> pyenv install 3.11.0

指挥结果:

代码语言:javascript
运行
复制
pyenv: /home/user/.pyenv/versions/3.11.0 already exists
continue with installation? (y/N) y
Downloading Python-3.11.0.tar.xz...
-> https://www.python.org/ftp/python/3.11.0/Python-3.11.0.tar.xz
Installing Python-3.11.0...
Installed Python-3.11.0 to /home/user/.pyenv/versions/3.11.0
票数 4
EN

Stack Overflow用户

发布于 2020-03-20 19:45:18

好的,过了一段时间我找到了解决办法。这很简单,但我花了一些时间才意识到这一点。

结果发现问题在于我安装的bzip2-devel是32位版本。

编译过程是寻找64位的一个,但没有找到它。所以我必须专门安装64位版本:

代码语言:javascript
运行
复制
sudo dnf install bzip2-devel-1.0.6-29.fc30.x86_64
票数 1
EN

Stack Overflow用户

发布于 2021-01-05 02:28:08

谢谢,这很有帮助,只是在~/.zshrc中做了一些小小的修改

代码语言:javascript
运行
复制
export LDFLAGS="-L/opt/homebrew/opt/zlib/lib -L/opt/homebrew/opt/bzip2/lib"
export CPPFLAGS="-I/opt/homebrew/opt/zlib/include -I/opt/homebrew/opt/bzip2/include"

然后是pyenv install 3.7.9

Apple M1macOS 11.1 20C69 arm64

代码语言:javascript
运行
复制
➜ brew --version           
Homebrew 2.7.1
Homebrew/homebrew-core (git revision ad6fd8; last commit 2021-01-05)
Homebrew/homebrew-cask (git revision 5c3de; last commit 2021-01-04)

但这对No module named '_ctypes' on M1没有帮助:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60775172

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档