安装Google Cloud Bigquery模块后,如果我将该模块导入python代码。我看到此警告消息。发生在python 3.7.3 Virtualenv中。
尝试重新安装GCP bigquery模块如果我们编写“从google.cloud import bigquery”,则应输入python代码。不会导致任何错误或消息。
import os
import sys
import logging
from datetime import datetime
from google.cloud import bigquery
Run Code Online (Sandbox Code Playgroud)
/home/informatica/.local/lib/python3.7/site-packages/pandas/compat/__init__.py:84: UserWarning: Could not import the lzma module. Your installed Python is incomplete. Attempting to use lzma compression will result in a RuntimeError.
warnings.warn(msg)
exit()
Run Code Online (Sandbox Code Playgroud)
小智 32
在 MacOS 和 pyenv ( https://realpython.com/intro-to-pyenv/ ) 上,我可以通过将 xz 与 homebrew 一起安装来消除此警告。以python 3.6.9版本为例
brew install xz && pyenv install 3.6.9
要使用已安装的python,需要将其添加到 .bash_profile
eval "$(pyenv init -)"
并通过运行开始使用它
pyenv global 3.6.9
Mik*_*Sam 32
我从这里使用了其他好的答案,但没有解决问题(Ubuntu 18.04、Python3.8),仍然收到此警告。其实还需要安装一个包来解决这个问题:
sudo apt-get install lzma
Run Code Online (Sandbox Code Playgroud)
所以整个管道(在python源代码文件夹中运行):
sudo apt-get install liblzma-dev
sudo apt-get install lzma
./configure --enable-optimizations
sudo make
sudo make altinstall
Run Code Online (Sandbox Code Playgroud)
Yin*_*iao 22
在macOS上,如果你用pyenv管理你的python并用homebrew打包,你需要先安装“xz”:
brew install xz
Run Code Online (Sandbox Code Playgroud)
安装xz后,就可以安装python 3.8了(我以3.8.2为例:
pyenv install 3.8.2
Run Code Online (Sandbox Code Playgroud)
以上将解决问题。
Raf*_*lah 19
如果您正在使用centos
并从源代码编译 python,您可以从以下命令安装
对于centos: sudo yum install -y xz-devel
从源代码重新编译python
cd Python-3.8*/
./configure --enable-optimizations
sudo make altinstall
Run Code Online (Sandbox Code Playgroud)
Che*_*glu 15
如果从源代码编译Python,则必须安装该lzma-dev
软件包,否则它将不会内置在python中。
对于ubuntu: sudo apt-get install liblzma-dev
对于centos: yum install -y xz-devel
然后 configure && make && make install
小智 9
为我解决了什么:
sudo apt-get install libbz2-dev
sudo cp /usr/lib/python3.8/lib-dynload/_bz2.cpython-38-x86_64-linux-gnu.so/usr/local/lib/python3.8/
sudo cp /usr/lib/python3.8/lib-dynload/_lzma.cpython-38-x86_64-linux-gnu.so /usr/local/lib/python3.8/
Run Code Online (Sandbox Code Playgroud)
此解决方案适用于我的设置(Apple M1 with pyenv
):
CFLAGS="-I$(brew --prefix xz)/include" LDFLAGS="-L$(brew --prefix xz)/lib" pyenv install 3.9.4
Run Code Online (Sandbox Code Playgroud)
请参阅https://github.com/pandas-dev/pandas/issues/27532上的最后评论
brew install xz # To pick up liblzma
prefix=$(brew --prefix)
export LDFLAGS="-L$prefix/opt/xz/lib $LDFLAGS"
export CPPFLAGS="-I$prefix/opt/xz/include $CPPFLAGS"
export PKG_CONFIG_PATH="$prefix/opt/xz/lib/pkgconfig:$PKG_CONFIG_PATH"
# YOU CANNOT HAVE THE GNUBINS in your PATH when you run this
PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install 3.9.2
python3 -c "import lzma" # should work and not throw "cannot import _lzma"
Run Code Online (Sandbox Code Playgroud)
我在 Debian 10 上从源代码构建了 Python 3.8,有时根本无法启动 mlflow 服务器,有时会收到警告,尽管成功启动,而且每次 pandas 导入都会给我这个警告。
这对我有用:
sudo apt install libncurses-dev libgdbm-dev libz-dev tk-dev libsqlite3-dev libreadline-dev liblzma-dev libffi-dev libssl-dev
我再也没有收到警告,也没有遇到任何问题。