首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python setup.py egg_info没有成功运行。当$ pip安装mariadb时

python setup.py egg_info没有成功运行。当$ pip安装mariadb时
EN

Stack Overflow用户
提问于 2022-07-06 08:02:37
回答 3查看 11.5K关注 0票数 2

我试图在我的ubuntu 20.04上安装mariadb软件包,并得到以下消息:

代码语言:javascript
复制
Collecting mariadb


Using cached mariadb-1.1.3.tar.gz (80 kB)
  Preparing metadata (setup.py) ... error
  error: subprocess-exited-with-error
  
  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [19 lines of output]
      /bin/sh: 1: mariadb_config: not found
      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "/tmp/pip-install-t71j4ld7/mariadb_85318304dde74615894ef8d77544330a/setup.py", line 26, in <module>
          cfg = get_config(options)
        File "/tmp/pip-install-t71j4ld7/mariadb_85318304dde74615894ef8d77544330a/mariadb_posix.py", line 63, in get_config
          cc_version = mariadb_config(config_prg, "cc_version")
        File "/tmp/pip-install-t71j4ld7/mariadb_85318304dde74615894ef8d77544330a/mariadb_posix.py", line 28, in mariadb_config
          raise EnvironmentError(
      OSError: mariadb_config not found.
      
      This error typically indicates that MariaDB Connector/C, a dependency which must be preinstalled,
      is not found.
      If MariaDB Connector/C is not installed, see installation instructions
      at: https://github.com/mariadb-corporation/mariadb-connector-c/wiki/install.md.
      If MariaDB Connector/C is installed, either set the environment variable MARIADB_CONFIG or edit
      the configuration file 'site.cfg' to set the 'mariadb_config' option to the file location of the
      mariadb_config utility.
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

我找到了许多关于这个主题的主题和答案,比如更新和升级系统,升级我的pip版本,或者安装像libmariadbclient、setuptools或libmysqlclient之类的软件包。

我也在我的系统上安装了libmariadb,但是这些解决方案都不适合我。

python3 --版本:Python3.8.10

pip -版本: pip 22.1.2

谢谢你的帮助!

EN

回答 3

Stack Overflow用户

发布于 2022-07-06 21:11:40

仅仅安装libmariadb是不够的,您还需要安装libmariadb(在焦点上是libmariadb3 ),因为mariadb二进制文件不是dev包的一部分。

sudo apt-get install libmariadb3 libmariadb-dev

另一种选择是安装服务器包,其中还包含MariaDB连接器/C。

票数 1
EN

Stack Overflow用户

发布于 2022-08-04 02:00:44

可能的解决方案:升级所有其他软件包,然后安装有问题的软件包。

我在升级python包时遇到了类似的错误:

代码语言:javascript
复制
pip3 freeze --local | egrep -v '^\-e|@' | cut -d = -f 1  | xargs pip install --user -U --no-deps

但是有几个软件包不会安装并抛出错误:

python setup.py egg_info did not run successfully.

因此,我将这些包排除在升级之外:

代码语言:javascript
复制
pip3 freeze --local | egrep -v '^\-e|@' | cut -d = -f 1 | grep -v atomicwrites | grep -v drep | grep -v gffutils | grep -v hapROH | grep -v pyfaidx | grep -v pygtrie | grep -v python-igraph | grep -v pytools | grep -v rpy2 | grep -v vamb | xargs pip install --user -U --no-deps

之后,升级了所有可升级的软件包,我可以安装问题子程序:

代码语言:javascript
复制
echo -e "atomicwrites\ndrep\ngffutils\nhapROH\npyfaidx\npygtrie\npython-igraph\npytools\nrpy2\nvamb"| xargs pip3 install --user --upgrade --no-deps
票数 0
EN

Stack Overflow用户

发布于 2022-07-17 07:44:14

我在安装termcolor时遇到了同样的问题。并在本站找到了解决方案。(我和那个网站没有任何关系。只是浏览了一下。)

对我来说,用

代码语言:javascript
复制
pip install --upgrade setuptools 

效果很好。问题是,我使用的是一个旧版本的setuptools,它无法安装带有最新更新的软件包。

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

https://stackoverflow.com/questions/72879852

复制
相关文章

相似问题

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