1

ubuntu lucid に python3.3.1 があり、これを virtualenvwrapper で呼び出します。pygame を学習したかったので、pip を使用してインストールしました。

me@ubuntu: sudo apt-get install libsdl1.2-dev
...
me@ubuntu: sudo apt-get install  libsmpeg-dev
...

me@ubuntu: workon envpy331
(envpy331)me@ubuntu:~$ pip install pygame

    Downloading pygame-1.9.1release.tar.gz (2.1MB): 2.1MB downloaded
    Running setup.py egg_info for package pygame    
    WARNING, No "Setup" File Exists, Running "config.py"
    Using UNIX configuration...

    Hunting dependencies...
    SDL     : found 1.2.14
    FONT    : not found
    IMAGE   : not found
    MIXER   : not found
    SMPEG   : found 0.4.5
    PNG     : found
    JPEG    : found
    SCRAP   : found
    PORTMIDI: not found
    PORTTIME: not found
 ....
   Continuing With "setup.py"  

   Successfully installed pygame
   Cleaning up...

次に、pygameをインポートしようとしましたが、これによりインポートエラーが発生しました

(envpy331)me@ubuntu:~$ python
Python 3.3.1 (default, Apr 19 2013, 11:41:37) 
[GCC 4.4.3] on linux

>>> import pygame
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/me/.virtualenvs/envpy331/lib/python3.3/site-packages/pygame/__init__.py", line 95, in <module>
    from pygame.base import *
ImportError: /home/me/.virtualenvs/envpy331/lib/python3.3/site-packages/pygame/base.cpython-33m.so: undefined symbol: PyCObject_FromVoidPtr

これを修正する方法はありますか?

4

2 に答える 2

0

これは古い質問であることは知っていますが、問題に時間を費やしたので、これが独自の仮想環境にインストールpygameする最も簡単な方法です。python3.4

sudo apt-get build-dep python-pygame
sudo apt-get install python3-dev libswscale-dev libavformat-dev virtualenvwrapper
echo "export WORKON_HOME=~/.venvs" >> ~/.bashrc
echo ". /usr/share/virtualenvwrapper/virtualenvwrapper.sh" >> ~/.bashrc
. ~/.bashrc

上記を一度行います。新しい環境ごとに次の手順を繰り返します。

mkvirtualenv -a ~/your/project/path -p /usr/bin/python3.4 your_project_name
pip install hg+http://bitbucket.org/pygame/pygame

これにより、適切なバージョンがダウンロードされてコンパイルされますpygame(多数の警告が表示されますが、まだ機能しています)。Ubuntu GNOME 14.04 および 14.10 でテスト済み。

特定のプロジェクトの作業を開始するか、プロジェクトを切り替えるたびに、次のようにします。

workon your_project_name

プロジェクト名がプロンプトに表示されます。そして、終了してシステム全体の環境に戻りたい場合:

deactivate
于 2014-12-24T00:42:34.767 に答える