easy_install pygame ไม่ทำงานเนื่องจากข้อผิดพลาด“ linux / videodev.h: ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว” เกิดข้อผิดพลาด


9

พยายามติดตั้งpygameผ่านeasy_installใน Ubuntu 12.10 และข้อผิดพลาดมันทำให้ฉัน:

Continuing With "setup.py"
warning: no files found matching 'readme.txt'
no previously-included directories found matching '*/CVS'
no previously-included directories found matching '*/*/CVS'
src/mixer.c: In function ‘chan_set_volume’:
src/mixer.c:660:9: warning: variable ‘result’ set but not used [-Wunused-but-set-  variable]
In file included from /usr/include/python2.7/Python.h:8:0,
             from src/scrap.h:22,
             from src/scrap.c:30:
/usr/include/python2.7/pyconfig.h:1161:0: warning: "_POSIX_C_SOURCE" redefined [enabled by default]
In file included from /usr/include/stdio.h:28:0,
             from src/scrap.c:24:
/usr/include/features.h:215:0: note: this is the location of the previous definition
In file included from src/scrap.c:59:0:
src/scrap_x11.c: In function ‘_get_data_as’:
src/scrap_x11.c:567:17: warning: pointer targets in assignment differ in signedness [-Wpointer-sign]
src/scrap.c: In function ‘initscrap’:
src/scrap.c:329:15: warning: variable ‘mod’ set but not used [-Wunused-but-set-variable]
In file included from src/_camera.c:36:0:
src/camera.h:42:32: fatal error: linux/videodev.h: No such file or directory
compilation terminated.
error: Setup script exited with error: command 'gcc' failed with exit status 1

และการทำงานsudo ln -s /usr/include/linux/videodev2.h /usr/include/linux/videodev.hให้:

Continuing With "setup.py"
warning: no files found matching 'readme.txt'
no previously-included directories found matching '*/CVS'
no previously-included directories found matching '*/*/CVS'
src/mixer.c: In function ‘chan_set_volume’:
src/mixer.c:660:9: warning: variable ‘result’ set but not used [-Wunused-but-set-variable]
In file included from /usr/include/python2.7/Python.h:8:0,
             from src/scrap.h:22,
             from src/scrap.c:30:
/usr/include/python2.7/pyconfig.h:1161:0: warning: "_POSIX_C_SOURCE" redefined [enabled by default]
In file included from /usr/include/stdio.h:28:0,
             from src/scrap.c:24:
/usr/include/features.h:215:0: note: this is the location of the previous definition
In file included from src/scrap.c:59:0:
src/scrap_x11.c: In function ‘_get_data_as’:
src/scrap_x11.c:567:17: warning: pointer targets in assignment differ in signedness [-Wpointer-sign]
src/scrap.c: In function ‘initscrap’:
src/scrap.c:329:15: warning: variable ‘mod’ set but not used [-Wunused-but-set-variable]
In file included from src/camera.h:20:0,
             from src/camera_v4l2.c:22:
src/pygame.h:678:14: warning: ‘PyGAME_C_API’ defined but not used [-Wunused-variable]
src/camera_v4l.c: In function ‘v4l_open_device’:
src/camera_v4l.c:29:29: error: storage size of ‘cap’ isn’t known
src/camera_v4l.c:30:23: error: storage size of ‘buf’ isn’t known
src/camera_v4l.c:51:24: error: ‘VIDIOCGCAP’ undeclared (first use in this function)
src/camera_v4l.c:51:24: note: each undeclared identifier is reported only once for      each function it appears in
src/camera_v4l.c:63:26: error: ‘VIDIOCGMBUF’ undeclared (first use in this function)
src/camera_v4l.c:30:23: warning: unused variable ‘buf’ [-Wunused-variable]
src/camera_v4l.c:29:29: warning: unused variable ‘cap’ [-Wunused-variable]
In file included from src/camera.h:20:0,
             from src/camera_v4l.c:20:
src/camera_v4l.c: At top level:
src/pygame.h:678:14: warning: ‘PyGAME_C_API’ defined but not used [-Wunused-variable]
error: Setup script exited with error: command 'gcc' failed with exit status 1

ตัวแทนน่าเสียดายที่จะเพิ่มแท็ก "easy_install" และ "pygame" ...
JDW

คำตอบ:


14

คำตอบ SO นี้ให้ symlink ที่ถูกต้อง คุณต้องลบสิ่ง/usr/include/linux/videodev.hที่คุณสร้างขึ้น - มันกำลังเชื่อมโยงไปยังไฟล์ส่วนหัวเวอร์ชันผิด

sudo apt-get install libv4l-dev
cd / usr / include / linux
sudo ln -s ../libv4l1-videodev.h videodev.h

3

Pygame ต้องการการอ้างอิงบางอย่าง:

sudo apt-get install python-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-ttf2.0-dev   libsdl1.2-dev libsmpeg-dev python-numpy subversion libportmidi-dev ffmpeg libswscale-dev libavformat-dev libavcodec-dev

หากคุณไม่ต้องการติดตั้งให้ติดตั้งแพ็คเกจที่คอมไพล์แล้ว:

sudo apt-get install python-pygame

2

รุ่น pygame ในที่เก็บ ( python-pygame ) เก่าเกินไปหรือไม่ ถ้าไม่คุณควรลองติดตั้งก่อน

มิฉะนั้นใช้python-pipเพื่อติดตั้งpygame:

sudo pip install pygame

ทำไมต้องใช้ pip มากกว่า easy_install


ฉันสามารถสลับระหว่าง pip และ easy_install ใน virtualenv ได้หรือไม่?
JDW
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.