pip install在mac上产生以下错误:错误:命令'gcc'失败,退出状态为1 [英] pip install produces the following error on mac: error: command 'gcc' failed with exit status 1

查看:453
本文介绍了pip install在mac上产生以下错误:错误:命令'gcc'失败,退出状态为1的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

因此,我尝试使用以下命令从PyPI安装软件包:

So I tried to install a package from PyPI with the following command:

sudo pip3 install switcheo

但是最后无法安装该软件包.

But it fails to install the package in the end.

Error checking for conflicts.
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pip/_vendor/pkg_resources/__init__.py", line 2584, in version
return self._version
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pip/_vendor/pkg_resources/__init__.py", line 2691, in __getattr__
raise AttributeError(attr)
AttributeError: _version

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pip/_internal/commands/install.py", line 503, in _warn_about_conflicts
package_set, _dep_info = check_install_conflicts(to_install)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pip/_internal/operations/check.py", line 108, in check_install_conflicts
package_set, _ = create_package_set_from_installed()
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pip/_internal/operations/check.py", line 47, in create_package_set_from_installed
package_set[name] = PackageDetails(dist.version, dist.requires())
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pip/_vendor/pkg_resources/__init__.py", line 2589, in version
raise ValueError(tmpl % self.PKG_INFO, self)
ValueError: ("Missing 'Version:' header and/or METADATA file", Unknown [unknown version] (/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages))
Installing collected packages: scrypt, neocore, switcheo

scrypt-1.2.1/libcperciva/crypto/crypto_aes.c:6:10: fatal error: 'openssl/aes.h' file not found
#include <openssl/aes.h>
         ^~~~~~~~~~~~~~~
1 error generated.
error: command 'gcc' failed with exit status 1

----------------------------------------
Command "/Library/Frameworks/Python.framework/Versions/3.7/bin/python3.7 -u -c "import setuptools, tokenize;__file__='/private/tmp/pip-install-b6w97vc0/scrypt/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /private/tmp/pip-record-qvammwag/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /private/tmp/pip-install-b6w97vc0/scrypt/

这是运行pip安装线后终端中的完整输出. 我找到了一些针对linux的解决方案,但是这里没有很多针对mac用户的帖子.

This is the full output in the terminal after running the pip install line. I found some solutions for linux, but there are not a lot of posts here for mac users.

推荐答案

我尝试了一段时间,试图在MacOS虚拟环境中安装另一个依赖于openssl的库.

I dealt with this problem for a while while trying to install another library that relies on openssl in a MacOS virtual env.

Mac已弃用openssl,转而使用自己的SSL.因此,您需要做的是:

Mac has deprecated openssl in favor of their own SSL. So what you need to do is:

    brew install openssl

或者如果已经安装,

    brew reinstall openssl

现在,您需要更改LD和CPP标志.请参考openssl重新安装对话框.应该告诉你命令在哪里!

Now you need to to change the LD and CPP Flags. Refer to the openssl reinstall dialog. Should tell you where the commands!

openssl仅适用于小桶,这意味着它没有符号链接到/usr/local, 因为苹果已经弃用OpenSSL,而是使用自己的TLS和加密库.

openssl is keg-only, which means it was not symlinked into /usr/local, because Apple has deprecated use of OpenSSL in favor of its own TLS and crypto libraries.

如果您需要先在运行的PATH中打开openssl:

If you need to have openssl first in your PATH run:

    echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile

要让编译器找到openssl,您可能需要设置:

For compilers to find openssl you may need to set:

    export LDFLAGS="-L/usr/local/opt/openssl/lib"
    export CPPFLAGS="-I/usr/local/opt/openssl/include"

要让pkg-config查找openssl,您可能需要设置:

For pkg-config to find openssl you may need to set:

    export PKG_CONFIG_PATH="/usr/local/opt/openssl/lib/pkgconfig"

这篇关于pip install在mac上产生以下错误:错误:命令'gcc'失败,退出状态为1的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆