我目前正在尝试安装getch,一个简单的python包,并遇到了相当大的困难。我最近以一种混乱的方式安装了pypy(我想在pypy工作时遇到麻烦,这是一个相当大的痛苦)所以这可能与我遇到的问题有关。
好的,我试着跑
sudo pip install getch
我收到了错误......
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
并且作为奖励,字符编码错误。
这是人们在没有安装python-dev时得到的错误。但是,我这样做。我尝试通过下载软件包并手动安装来解决此问题。
sudo python setup.py install
还给了我上面的gcc错误。我安装了gcc,x86_64-linux-gnu-gcc在终端正常工作。我在c中创建了一个简单的hello world程序,它只包含Python.h。这也很好。删除 - 从我的系统中删除pypy,python和python-dev后,我重新安装了python和python-dev,我仍然有同样的愚蠢问题。
有人有任何想法吗?
这是我得到的确切错误的pastebin。 pastebin.com/mjRdADZx
答案 0 :(得分:0)
您需要手动下载Python 2版本并进行安装。 pip下载的版本适用于Python 3。
线索是这一行:
Downloading/unpacking getch
Downloading getch-1.0.tar.gz # This is the Python 3 package
Running setup.py egg_info for package getch
Installing collected packages: getch
Running setup.py install for getch
building 'getch' extension
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/local/include -I/usr/include -I/usr/include/python2.7 -c getchmodule.c -o build/temp.linux-i686-2.7/getchmodule.o
getchmodule.c: In function ‘getch_getche’:
getchmodule.c:36:6: warning: unused variable ‘ok’ [-Wunused-variable]
getchmodule.c: In function ‘getch_getch’:
getchmodule.c:43:6: warning: unused variable ‘ok’ [-Wunused-variable]
getchmodule.c: At top level:
getchmodule.c:54:15: error: variable ‘getchmodule’ has initializer but incomplete type
getchmodule.c:55:4: error: ‘PyModuleDef_HEAD_INIT’ undeclared here (not in a function)
Python 2版本也是1.0,但文件名是getch-1.0-python2.tar.gz
。您可以下载directly from the index。
下载后,从解压缩的目录中提取存档,然后提取python setup.py install
。