最近,我打开了一台旧笔记本电脑,并一直在使用它进行一些python开发。许多pip命令在后台调用gcc或类似命令。以下面的例子为例,尽管我在各种类似的命令上看到了相同的错误,而不仅仅是gcc:
gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/foo/anaconda3/include -arch x86_64 -I/Users/foo/anaconda3/include -arch x86_64 -I/usr/local/opt/openblas/include:-I/usr/local/opt/openjdk/include : -DPSUTIL_POSIX=1 -DPSUTIL_SIZEOF_PID_T=4 -DPSUTIL_VERSION=572 -DPSUTIL_OSX=1 -I/Users/foo/.local/pipx/venvs/mylib/include -I/Users/foo/anaconda3/include/python3.8 -c psutil/_psutil_common.c -o build/temp.macosx-10.9-x86_64-3.8/psutil/_psutil_common.o
将给出以下错误:
gcc: error: :: No such file or directory
error: command 'gcc' failed with exit status 1
不幸的是,错误语句很难在谷歌上搜索。我知道我以前可以用gcc/build python库进行编译,这没有问题,但我一定是搞砸了什么,读到了错误,不知何故破坏了shell处理冒号的方式?或者gcc/编译器版本发生了变化,破坏了这些行的读取方式。如果能得到任何帮助,我将不胜感激!
这部分命令是错误的:
-I/usr/local/opt/openblas/include:-I/usr/local/opt/openjdk/include :
您没有指定多个由:
分隔的目录,而是使用单独的-I
选项。在两个-I
选项之后有一个单独的:
,它被作为文件名。
命令的这一部分应该是:
-I/usr/local/opt/openblas/include -I/usr/local/opt/openjdk/include