【问题标题】:fix error while installing mysqlclient on python3.7 using cloudlinux python selector使用cloudlinux python选择器在python3.7上安装mysqlclient时修复错误
【发布时间】:2019-10-20 17:48:15
【问题描述】:

这是我第一次在 stackoverflow 上提问。

几天前,我一直在尝试在我的 cpanel 服务器上设置一个 python 应用程序。这是关于我一直在做的一个 django 项目。所以我想使用 pip 工具安装 mysqlclient。

cPanel, cloudlinux操作系统, 阿帕奇最新版本, 安装了 python 和 ruby​​ 选择器

我已经通过从 python3.7 切换到 3.6 绕过了这个问题! 但我仍然想知道为什么我使用 python3.7 会出现这些错误?

pip 安装 mysqlclient:

    version node not found for symbol SSLeay@OPENSSL_1.0.1
    /usr/bin/ld: failed to set dynamic section sizes: Bad value
    collect2: error: ld returned 1 exit status
    error: command 'gcc' failed with exit status 1

pip install mysqlclient 输出:

    Collecting mysqlclient
    Using cached
https://files.pythonhosted.org/packages/f4/f1/3bb6f64ca7a429729413e6556b7ba5976df06019a5245a43d36032f1061e/mysqlclient-1.4.2.post1.tar.gz
Building wheels for collected packages: mysqlclient
  Building wheel for mysqlclient (setup.py) ... error
  ERROR: Complete output from command /home/airtab/virtualenv/public__html_test/3.7/bin/python3.7 -u -c 'import setuptools, tokenize;__file__='"'"'/tmp/pip-install-4c1a9d8u/mysqlclient/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-fm79t5sn --python-tag cp37:
  ERROR: /opt/alt/python37/lib64/python3.7/distutils/dist.py:274: UserWarning: Unknown distribution option: 'long_description_content_type'
    warnings.warn(msg)
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-x86_64-3.7
  creating build/lib.linux-x86_64-3.7/MySQLdb
  copying MySQLdb/__init__.py -> build/lib.linux-x86_64-3.7/MySQLdb
  copying MySQLdb/_exceptions.py -> build/lib.linux-x86_64-3.7/MySQLdb
  copying MySQLdb/compat.py -> build/lib.linux-x86_64-3.7/MySQLdb
  copying MySQLdb/connections.py -> build/lib.linux-x86_64-3.7/MySQLdb
  copying MySQLdb/converters.py -> build/lib.linux-x86_64-3.7/MySQLdb
  copying MySQLdb/cursors.py -> build/lib.linux-x86_64-3.7/MySQLdb
  copying MySQLdb/release.py -> build/lib.linux-x86_64-3.7/MySQLdb
  copying MySQLdb/times.py -> build/lib.linux-x86_64-3.7/MySQLdb
  creating build/lib.linux-x86_64-3.7/MySQLdb/constants
  copying MySQLdb/constants/__init__.py -> build/lib.linux-x86_64-3.7/MySQLdb/constants
  copying MySQLdb/constants/CLIENT.py -> build/lib.linux-x86_64-3.7/MySQLdb/constants
  copying MySQLdb/constants/CR.py -> build/lib.linux-x86_64-3.7/MySQLdb/constants
  copying MySQLdb/constants/ER.py -> build/lib.linux-x86_64-3.7/MySQLdb/constants
  copying MySQLdb/constants/FIELD_TYPE.py -> build/lib.linux-x86_64-3.7/MySQLdb/constants
  copying MySQLdb/constants/FLAG.py -> build/lib.linux-x86_64-3.7/MySQLdb/constants
  running build_ext
  building 'MySQLdb._mysql' extension
  creating build/temp.linux-x86_64-3.7
  creating build/temp.linux-x86_64-3.7/MySQLdb
  gcc -pthread -Wno-unused-result -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -Dversion_info=(1,4,2,'post',1) -D__version__=1.4.2.post1 -I/usr/include/mysql -I/usr/include/mysql/.. -I/opt/alt/python37/include/python3.7m -c MySQLdb/_mysql.c -o build/temp.linux-x86_64-3.7/MySQLdb/_mysql.o
  gcc -pthread -shared -Wl,-z,relro -Wl,-rpath=/opt/alt/python37/lib64 -L/opt/alt/openssl/lib64 -Wl,-rpath=/opt/alt/openssl/lib64 build/temp.linux-x86_64-3.7/MySQLdb/_mysql.o -L/usr/lib64/mysql -L/opt/alt/python37/lib64 -lmariadb -lpthread -lz -ldl -lm -lssl -lcrypto -lpython3.7m -o build/lib.linux-x86_64-3.7/MySQLdb/_mysql.cpython-37m-x86_64-linux-gnu.so
  /usr/bin/ld: build/lib.linux-x86_64-3.7/MySQLdb/_mysql.cpython-37m-x86_64-linux-gnu.so: version node not found for symbol SSLeay@OPENSSL_1.0.1
  /usr/bin/ld: failed to set dynamic section sizes: Bad value
  collect2: error: ld returned 1 exit status
  error: command 'gcc' failed with exit status 1
  ----------------------------------------
  ERROR: Failed building wheel for mysqlclient
  Running setup.py clean for mysqlclient
Failed to build mysqlclient
Installing collected packages: mysqlclient
  Running setup.py install for mysqlclient ... error
    ERROR: Complete output from command /home/airtab/virtualenv/public__html_test/3.7/bin/python3.7 -u -c 'import setuptools, tokenize;__file__='"'"'/tmp/pip-install-4c1a9d8u/mysqlclient/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-xtuvq5ww/install-record.txt --single-version-externally-managed --compile --install-headers /home/airtab/virtualenv/public__html_test/3.7/include/site/python3.7/mysqlclient:
    ERROR: /opt/alt/python37/lib64/python3.7/distutils/dist.py:274: UserWarning: Unknown distribution option: 'long_description_content_type'
      warnings.warn(msg)
    running install
    running build
    running build_py
    creating build
    creating build/lib.linux-x86_64-3.7
    creating build/lib.linux-x86_64-3.7/MySQLdb
    copying MySQLdb/__init__.py -> build/lib.linux-x86_64-3.7/MySQLdb
    copying MySQLdb/_exceptions.py -> build/lib.linux-x86_64-3.7/MySQLdb
    copying MySQLdb/compat.py -> build/lib.linux-x86_64-3.7/MySQLdb
    copying MySQLdb/connections.py -> build/lib.linux-x86_64-3.7/MySQLdb
    copying MySQLdb/converters.py -> build/lib.linux-x86_64-3.7/MySQLdb
    copying MySQLdb/cursors.py -> build/lib.linux-x86_64-3.7/MySQLdb
    copying MySQLdb/release.py -> build/lib.linux-x86_64-3.7/MySQLdb
    copying MySQLdb/times.py -> build/lib.linux-x86_64-3.7/MySQLdb
    creating build/lib.linux-x86_64-3.7/MySQLdb/constants
    copying MySQLdb/constants/__init__.py -> build/lib.linux-x86_64-3.7/MySQLdb/constants
    copying MySQLdb/constants/CLIENT.py -> build/lib.linux-x86_64-3.7/MySQLdb/constants
    copying MySQLdb/constants/CR.py -> build/lib.linux-x86_64-3.7/MySQLdb/constants
    copying MySQLdb/constants/ER.py -> build/lib.linux-x86_64-3.7/MySQLdb/constants
    copying MySQLdb/constants/FIELD_TYPE.py -> build/lib.linux-x86_64-3.7/MySQLdb/constants
    copying MySQLdb/constants/FLAG.py -> build/lib.linux-x86_64-3.7/MySQLdb/constants
    running build_ext
    building 'MySQLdb._mysql' extension
    creating build/temp.linux-x86_64-3.7
    creating build/temp.linux-x86_64-3.7/MySQLdb
    gcc -pthread -Wno-unused-result -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -Dversion_info=(1,4,2,'post',1) -D__version__=1.4.2.post1 -I/usr/include/mysql -I/usr/include/mysql/.. -I/opt/alt/python37/include/python3.7m -c MySQLdb/_mysql.c -o build/temp.linux-x86_64-3.7/MySQLdb/_mysql.o
    gcc -pthread -shared -Wl,-z,relro -Wl,-rpath=/opt/alt/python37/lib64 -L/opt/alt/openssl/lib64 -Wl,-rpath=/opt/alt/openssl/lib64 build/temp.linux-x86_64-3.7/MySQLdb/_mysql.o -L/usr/lib64/mysql -L/opt/alt/python37/lib64 -lmariadb -lpthread -lz -ldl -lm -lssl -lcrypto -lpython3.7m -o build/lib.linux-x86_64-3.7/MySQLdb/_mysql.cpython-37m-x86_64-linux-gnu.so
    /usr/bin/ld: build/lib.linux-x86_64-3.7/MySQLdb/_mysql.cpython-37m-x86_64-linux-gnu.so: version node not found for symbol SSLeay@OPENSSL_1.0.1
    /usr/bin/ld: failed to set dynamic section sizes: Bad value
    collect2: error: ld returned 1 exit status
    error: command 'gcc' failed with exit status 1
    ----------------------------------------
ERROR: Command "/home/airtab/virtualenv/public__html_test/3.7/bin/python3.7 -u -c 'import setuptools, tokenize;__file__='"'"'/tmp/pip-install-4c1a9d8u/mysqlclient/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-xtuvq5ww/install-record.txt --single-version-externally-managed --compile --install-headers /home/airtab/virtualenv/public__html_test/3.7/include/site/python3.7/mysqlclient" failed with error code 1 in /tmp/pip-install-4c1a9d8u/mysqlclient/

【问题讨论】:

    标签: mysql django cpanel python-3.7


    【解决方案1】:

    如果你使用 cpanel

    请检查并允许 gcc / 编译器

    1. 登录WHM
    2. 安全中心
    3. 编译器访问

    允许特定用户并启用编译器

    如果你启用了编译器,请重启virtualenv并再次尝试使用命令安装

    pip 安装 mysqlclient

    如果 pip 有问题,请使用命令升级 pip:pip install --upgrade pip

    【讨论】:

      猜你喜欢
      • 2020-12-21
      • 2020-06-10
      • 2020-04-16
      • 2019-06-18
      • 2023-03-30
      • 1970-01-01
      相关资源
      最近更新 更多