mas*_*ifu 15 ubuntu debian mysql-python python-3.x airflow
我正在使用 Debian/Ubuntu,并且尝试在我的 Python 虚拟环境中安装 Airflow 提供程序:
\n$ pip install apache-airflow-providers-mysql\n error: subprocess-exited-with-error\n\n \xc3\x97 Getting requirements to build wheel did not run successfully.\n \xe2\x94\x82 exit code: 1\n \xe2\x95\xb0\xe2\x94\x80> [24 lines of output]\n /bin/sh: 1: pkg-config: not found\n /bin/sh: 1: pkg-config: not found\n Trying pkg-config --exists mysqlclient\n Command 'pkg-config --exists mysqlclient' returned non-zero exit status 127.\n Trying pkg-config --exists mariadb\n Command 'pkg-config --exists mariadb' returned non-zero exit status 127.\n Traceback (most recent call last):\n File "/home/user/airflow/airflow_env/lib/python3.10/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>\n main()\n File "/home/user/airflow/airflow_env/lib/python3.10/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main\n json_out['return_val'] = hook(**hook_input['kwargs'])\n File "/home/user/airflow/airflow_env/lib/python3.10/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 118, in get_requires_for_build_wheel\n return hook(config_settings)\n File "/tmp/pip-build-env-a5nk1xf1/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 341, in get_requires_for_build_wheel\n return self._get_build_requires(config_settings, requirements=['wheel'])\n File "/tmp/pip-build-env-a5nk1xf1/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 323, in _get_build_requires\n self.run_setup()\n File "/tmp/pip-build-env-a5nk1xf1/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 338, in run_setup\n exec(code, locals())\n File "<string>", line 154, in <module>\n File "<string>", line 48, in get_config_posix\n File "<string>", line 27, in find_package_name\n Exception: Can not find valid pkg-config name.\n Specify MYSQLCLIENT_CFLAGS and MYSQLCLIENT_LDFLAGS env vars manually\n [end of output]\n\n note: This error originates from a subprocess, and is likely not a problem with pip.\nerror: subprocess-exited-with-error\n\n\xc3\x97 Getting requirements to build wheel did not run successfully.\n\xe2\x94\x82 exit code: 1\n\xe2\x95\xb0\xe2\x94\x80> See above for output.\nRun Code Online (Sandbox Code Playgroud)\n我期望看到气流连接中的 mysql 提供程序下拉。
\nuoi*_*a k 17
手动指定 MYSQLCLIENT_CFLAGS 和 MYSQLCLIENT_LDFLAGS 环境变量,请按照以下步骤操作:
打开终端窗口。
确定 MySQL 头文件和库的位置。这些位置可能会根据您的 MySQL 安装而有所不同。您可以使用该mysql_config命令来检索此信息。运行以下命令来查找头文件的位置:mysql_config --cflags运行以下命令来查找库的位置:mysql_config --libs记下这些命令的输出,因为您在后续步骤中将需要它们。
设置 MYSQLCLIENT_CFLAGS 环境变量。将 `` 替换为从命令中获取的路径mysql_config --cflags。运行以下命令:export MYSQLCLIENT_CFLAGS="-I"
设置 MYSQLCLIENT_LDFLAGS 环境变量。将 `` 替换为从命令中获取的路径mysql_config --libs。运行以下命令:export MYSQLCLIENT_LDFLAGS="-L"注意:如果您的 MySQL 安装包含多个库,请用空格分隔每个库路径。
现在,当您安装需要 MySQL 客户端库的软件包(例如mysqlclientDjango)时,构建过程将使用指定的 CFLAGS 和 LDFLAGS 值来查找必要的文件。您可以继续进行软件包安装或 Django 设置,指定的环境变量将用于查找 MySQL 客户端库。
通过手动设置MYSQLCLIENT_CFLAGS和MYSQLCLIENT_LDFLAGS环境变量,可以确保在安装或编译过程中使用正确的MySQL头文件和库。
我用这个方法解决了和你一样的问题
pkg-config: not found是问题和解决方案的主要提示 - 您缺少构建工具,需要安装它们。
apt-get install pkg-config build-essential libmysqlclient-dev
Run Code Online (Sandbox Code Playgroud)
注意:如果您实际上是在 Docker slim 映像上构建,请参阅:https ://stackoverflow.com/a/77433206/1554386
小智 5
我的电脑是 macbook\xef\xbc\x8c
\nbrew install mysql\nRun Code Online (Sandbox Code Playgroud)\n可以解决它
\n| 归档时间: |
|
| 查看次数: |
11165 次 |
| 最近记录: |