Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何强制pip在OSX上使用GCC?_Python_Gcc_Pip_Clang_Angr - Fatal编程技术网

Python 如何强制pip在OSX上使用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

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/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时,我可能会尝试下面的例子。据我所见,它有太多的定制,在沙盒外无法很好地播放。