我正在尝试使用Django创建一对一的实时消息传递系统。搜索后,我发现了有关django-channels
的信息。所以我用python 3.5和最新的Django创建了一个虚拟环境,但是当我做pip install channels
时,我得到了:
x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.5m -I/home/kshitij/Documents/projects/personal/maker/venv/include/python3.5m -c src/twisted/test/raiser.c -o build/temp.linux-x86_64-3.5/src/twisted/test/raiser.o
#include "Python.h"
^
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
可能是因为缺少python标头,所以我做了:sudo apt-get install python3-dev
,但它仍然显示相同的错误。我该怎么办?
pip version: 18
python version: 3.5
django version: 2.1
我尝试做sudo apt-get install python3-dev
,但得到:
ImportError: cannot import name '_BACKCOMPAT_MAGIC_NUMBER'
答案 0 :(得分:2)
pip
不是pip
及其pip3
。 sudo apt install python3.X-dev
。 对您来说,sudo apt install python3.5-dev
答案 1 :(得分:0)
最后一个错误可能表明您有一个问题是由系统上安装的许多python版本引起的(请参见this answer)。您应该确保系统上没有不完整或损坏的python安装(您是否已经自己编译过Python?)。另外,请确保已正确安装软件包python3
或sudo apt-get install python3-dev
无法成功。
此外,您可以尝试在系统上找到Python.h
。确保系统上的每个Python.h
都对应一个有效的python设置(对于python 2可能有一个,而对于python 3可能有一个)。
答案 2 :(得分:0)
尝试安装Linux编译器和python3-dev
:
sudo apt install gcc
sudo apt install python3-dev
pip install channels