错误pip安装mariadb在ubuntu服务器上

c9qzyr3d  于 2023-10-17  发布在  其他
关注(0)|答案(6)|浏览(177)

我尝试安装mariadb模块与pip install mariadb,但它错误这样.

Collecting mariadb
  Using cached https://files.pythonhosted.org/packages/15/73/250a30543f9987af2e3f7856f29917fa22580cd6b457b8e2df0d6d80b3f3/mariadb-1.0.1.tar.gz
    Complete output from command python setup.py egg_info:
    MariaDB Connector/Python requires MariaDB Connector/C >= 3.1.5, found version 3.0.3
    
    ----------------------------------------
Command "python setup.py egg_info" failed with error code 2 in /tmp/pip-build-f3yri8cs/mariadb/

我尝试运行pip install --upgrade setuptools然后pip install mariadb,但它仍然不工作,那么我如何解决这个问题?

8qgya5xd

8qgya5xd1#

我找到了这个问题的解决方案:所以,为了运行pip install mariadb,我遵循了以下步骤:
我使用python3.9,而不是旧版本,
安装Python 3.9:

sudo apt update
sudo apt install software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt install python3.9

安装Pip 3:

sudo apt install python3-pip

添加mariadb的repo:

sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943db
curl -LsS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash

如果您收到apt-transfer-https的一些问题,请安装此:

sudo apt-get install -y apt-transport-https

运行这些更新:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade

现在,您可以安装最新的Connector/c:

sudo apt-get install libmariadb3
sudo apt-get install libmariadb-dev

最后,你可以运行:

sudo pip3 install mariadb

应该会很好,很抱歉这么长的邮件。

9udxz4iz

9udxz4iz2#

正如其他人所说,ubuntu的版本:18.04不够新。
我在仿生学里找到了这个。

mkdir -p /tmp/mdbccbin
cd /tmp/mdbccbin

curl -O https://downloads.mariadb.com/Connectors/c/connector-c-3.1.10/mariadb-connector-c-3.1.10-ubuntu-bionic-amd64.tar.gz

echo "1b5b513f44967efadf5eae5e34952cd61f94655575d45b5a9182ea1b91d1d1fa  mariadb-connector-c-3.1.10-ubuntu-bionic-amd64.tar.gz" | sha256sum -c

# get root
sudo su

tar xvf mariadb-connector-c-3.1.10-ubuntu-bionic-amd64.tar.gz --directory /usr --strip-components 1

echo "/usr/lib/mariadb/" > /etc/ld.so.conf.d/mariadb.conf
ldconfig

# back to regular user
exit

python3 -m pip install --user mariadb
a2mppw5e

a2mppw5e3#

MariaDB Connector/Python requires MariaDB Connector/C >= 3.1.5, found version 3.0.3
安装正确版本的MariaDB Connector/C https://downloads.mariadb.org/connector-c/3.1.5/

yzckvree

yzckvree4#

您需要安装较新版本的MariaDB Connector/C。因为你有一个旧的ubuntu版本(它不提供MariaDB Connector/C的实际版本),你需要从MariaDB网站下载它。
自MariaDB Connector/C 3.1.8以来,MariaDB还为非EOLed Ubuntu平台提供了二进制包。实际版本为3.1.9,可下载here

kuarbcqp

kuarbcqp5#

首先,删除以下内容:

sudo apt purge libmariadb3 
sudo apt purge libmariadb-dev

(It似乎删除一个也删除另一个。
下载MariaDB Connector/C并运行tar后,您可以找到三个目录; binincludelib。他们得到你需要的pip install。如果你在做下面的事情之前尝试pip install mariadb,你会像我一样自己弄清楚应该把什么放在哪里。我发现:

sudo mv -f bin/mariadb_config /usr/bin/
sudo mv -f include/mariadb    /usr/local/include/
sudo mv -f lib/mariadb        /usr/local/lib/

现在你可以pip install mariadb,但是你不能import mariadb。然后,您需要:

export LD_LIBRARY_PATH=/usr/local/lib/mariadb/
rsl1atfo

rsl1atfo6#

从源代码构建mariadb连接器(v3.3.1)。

wget https://archive.mariadb.org//connector-c-3.3.1/mariadb-connector-c-3.3.1-src.zip
unzip mariadb-connector-c-3.3.1-src.zip
cd mariadb-connector-c-3.3.1-src/
mkdir build
cd build/
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local
make
sudo make install

现在pip install应该运行没有任何错误。

sudo pip3 uninstall mariadb
sudo pip3 install mariadb

请注意,即使连接器依赖性不满足,pip3 install mariadb也可能通过,因此首先通过pip3 uninstall mariadb卸载它
有时候,预构建的二进制文件可能不适用于您想要的版本和平台配置。
OS: Raspbian 11 (bulls eye) aarch64对于乌藨子PI
对于x86或x64架构,您可以简单地获得预构建的二进制文件,如here所解释的那样。
您可以获得特定连接器版本here的源代码。如果没有显示您要查找的版本,则可能必须选中显示旧版本的复选框。

相关问题