Python 如何强制pip在OSX上使用GCC?
OSX上的pip有点恼人。我试图安装的python程序需要GCC 建议的调用是:Python 如何强制pip在OSX上使用GCC?,python,gcc,pip,clang,angr,Python,Gcc,Pip,Clang,Angr,OSX上的pip有点恼人。我试图安装的python程序需要GCC 建议的调用是: env CC=/usr/local/bin/gcc-6 pip install angr 但是,这会导致一个错误,建议OSX改为运行CLANG: clang: error: unknown argument: '-malign-double' 这是有道理的,因为: $ env CC clang: error: no input files 尽管事实上: $env ... cc=/usr/local/bin
env CC=/usr/local/bin/gcc-6 pip install angr
但是,这会导致一个错误,建议OSX改为运行CLANG:
clang: error: unknown argument: '-malign-double'
这是有道理的,因为:
$ env CC
clang: error: no input files
尽管事实上:
$env
...
cc=/usr/local/bin/gcc-6
CC=/usr/local/bin/gcc-6
我当然试过:
$CC-/usr/local/bin/gcc-6
env $CC pip install angr
但当然:
$ env $CC pip install angr
gcc-6: error: pip: No such file or directory
gcc-6: error: install: No such file or directory
gcc-6: error: angr: No such file or directory
gcc-6: fatal error: no input files
不管env怎么说,我只是在跑步
$ pip install angr
结果更多
clang: error: unknown argument: '-malign-double'
那么我在这里错过了什么?OSX讨厌GCC那么糟糕吗?或者我在这里遗漏了一些基本的shell功能 您的测试命令
env$CC pip install angr
失败,因为美元符号计算变量,它有效地运行gcc而不是pip
Inian建议的命令env CC=“/usr/local/bin/gcc-6 pip install angr”
的结束引号放错了位置,因此不能使用
env CC=/usr/local/bin/gcc-6 pip install angr
的语法是正确的,但gcc错误可能在angr或它所依赖的26个包中的任何一个包中,如ana、bintrees、cachetools、capstone、cooldict、z3 solver
那么让我们回到叮当声。查看github上的angr问题,似乎z3 solver的一个异常不兼容问题已于5月10日修复,也就是该问题发布一个月后。见:
因此,我现在可以在macOS 10.13 High Sierra+Xcode 9.0.1上使用最新的pip(pip安装——升级pip
)了:
pip install --user angr
好的,上面的命令实际上默认使用二进制软件包,所以它当然可以工作。在10分钟内,您可以通过卸载所有PIP来验证编译路径是否与clang一起工作,然后:
pip install --user --no-cache-dir --no-binary :all: angr
您的测试命令
env$CC pip install angr
失败,因为美元符号对变量求值,并且它有效地运行了gcc而不是pip
Inian建议的命令env CC=“/usr/local/bin/gcc-6 pip install angr”
的结束引号放错了位置,因此不能使用
env CC=/usr/local/bin/gcc-6 pip install angr
的语法是正确的,但gcc错误可能在angr或它所依赖的26个包中的任何一个包中,如ana、bintrees、cachetools、capstone、cooldict、z3 solver
那么让我们回到叮当声。查看github上的angr问题,似乎z3 solver的一个异常不兼容问题已于5月10日修复,也就是该问题发布一个月后。见:
因此,我现在可以在macOS 10.13 High Sierra+Xcode 9.0.1上使用最新的pip(pip安装——升级pip
)了:
pip install --user angr
好的,上面的命令实际上默认使用二进制软件包,所以它当然可以工作。在10分钟内,您可以通过卸载所有PIP来验证编译路径是否与clang一起工作,然后:
pip install --user --no-cache-dir --no-binary :all: angr
您是否尝试将其置于引号内,
env CC=“/usr/local/bin/gcc-6 pip install angr”
,如果没有相同的值,则可能无法正确导出该命令。该命令也不起作用。@baordog,您找到解决方案了吗?我最终放弃并在Linux上运行了它。当我下次需要在OSX上使用Angr时,我可能会尝试下面的例子。据我所见,它确实有太多的自定义项,无法在沙箱之外很好地发挥作用。您是否尝试将其放在引号中,env CC=“/usr/local/bin/gcc-6 pip install angr”
,如果没有相同的值,可能无法正确导出该命令也无法工作。@baordog,你找到解决方案了吗?我最终放弃了,在Linux上运行了它。当我下次需要在OSX上使用Angr时,我可能会尝试下面的例子。据我所见,它有太多的定制,在沙盒外无法很好地播放。