1. pygame
  2. pygame
  3. pygame
  4. Issues

Issues

Issue #59 resolved

pygame and pip

René Dudfield
created an issue

Pygame should work on pip again.

What's left to do (easiest first):

  • Fixing usage of raw_input is tracked in #224
  • Changing the version scheme to pep 0440 is tracked in #223
  • Generating wheel format files is tracked at issue #222

  • Request pypi page.

Comments (22)

  1. Anonymous

    As explained into the Pip issue opened, the problem comes mainly for the way the packages are presented on the download page : The problem comes from those files on your download page (http://www.pygame.org/download.shtml) :

    pygame-1.9.1release-py2.6-macosx10.5.zip 10.3MB
    pygame-1.9.1release-py2.5-macosx10.5.zip 10.3MB
    pygame-1.9.1release-py2.4-macosx10.5.zip 10.3MB
    and 
    pygame-1.9.2pre-py2.6-macosx10.6.mpkg.zip
    pygame-1.9.2pre-py2.7-macosx10.7.mpkg.zip
    

    basically the PackageFinder of pip is crawling your page for links and *.tar, *.zip etc... files representing python packages, and two key facts happen :

    those files are zip files, not any other plateform dependent files like "mpkg" or "dmg"; and they are named just like python packages. So the package finder treat them as releases, and parse their versions. So on any machine you'll end up with the following "sorted" list :

     Using version 1.9.2pre-py2.7-macosx10.7.mpkg 
     (newest of versions: 1.9.2pre-py2.7-macosx10.7.mpkg, 1.9.2pre-py2.6-macosx10.6.mpkg, 
          1.9.1release-py2.6-macosx10.5, 1.9.1release-py2.5-macosx10.5, 
          1.9.1release-py2.4-macosx10.5, 1.9.1release, 1.9.1release, 
          1.9.0release, 1.8.1release, 1.8.0release, 1.8.0-deps-src, 1.7.1release, 1.6.2,...)
    

    So the possible fix is simple, simply make available for download the dmg/mpkg files or rename them so that they don't appear like Python packages anymore.

    Regards,

    Olivier.

  2. René Dudfield reporter

    Thanks very much for the info.

    A patch is now in pip which should fix this in the future (once a new pip is released and used by everyone).

    I'll update the downloads to just be .dmg files... as I think that is ok on modern OSX now. I'll leave the old .zip files there, just not link to them from the downloads page.

    cheers,

  3. Anonymous

    This is still not working.

    pip install pygame
    

    starts to download macos version instead. I am using this instead

    pygame-1.9.2pre-py2.7-macosx10.7.mpkg.zip
    

    Roberto

  4. Anonymous

    Sorry, using this instead:

    pip install http://www.pygame.org/ftp/pygame-1.9.1release.tar.gz
    

    Roberto

  5. tlatorre

    pip install pygame is still failing. I'm using python 2.6.6 on Scientific Linux 6.4.

    Downloading/unpacking pygame
      You are installing a potentially insecure and unverifiable file. Future versions of pip will default to disallowing insecure files.
      HTTP error 400 while getting http://www.pygame.org/../../ftp/pygame-1.6.2.tar.bz2 (from http://www.pygame.org/download.shtml)
      Could not install requirement pygame because of error HTTP Error 400: Bad Request
    Cleaning up...
    Could not install requirement pygame because of HTTP error HTTP Error 400: Bad Request for URL http://www.pygame.org/../../ftp/pygame-1.6.2.tar.bz2 (from http://www.pygame.org/download.shtml)
    Storing complete log in /home/will/.pip/pip.log
    

    Are there any plans to fix the pypi page in the near future?

  6. tlatorre

    Looking at the pip log, it seems as if pip finds the latest version, but then tries to download 1.6.2. No idea why it fails to even download that old version.

        Found link http://www.pygame.org/ftp/pygame-1.9.1release.tar.gz (from http://www.pygame.org/download.shtml), version: 1.9.1release
        Found link http://www.pygame.org/ftp/pygame-1.9.1release.zip (from http://www.pygame.org/download.shtml), version: 1.9.1release
    
    ...
    
      Using version 1.6.2 (newest of versions: 1.6.2, 1.6, 1.5, 1.4, 1.3, 1.2, 1.1, 1.0, 0.9, 0.5, 0.4)
      You are installing a potentially insecure and unverifiable file. Future versions of pip will default to disallowing insecure files.
    
      HTTP error 400 while getting http://www.pygame.org/../../ftp/pygame-1.6.2.tar.bz2 (from http://www.pygame.org/download.shtml)
    
      Could not install requirement pygame because of error HTTP Error 400: Bad Request
    
  7. Marius Gedminas

    Installing PyGame from PyPI is extremely inconvenient:

    Downloading/unpacking pygame
      Could not find any downloads that satisfy the requirement pygame
      Some externally hosted files were ignored (use --allow-external pygame to allow).
    
    • pip install pygame --allow-external=pygame fails:
    Downloading/unpacking pygame
      Could not find any downloads that satisfy the requirement pygame
      Some insecure and unverifiable files were ignored (use --allow-unverified pygame to allow).
    
    • pip install pygame --allow-external=pygame --allow-unverified=pygame fails:
    Downloading/unpacking pygame
      pygame is potentially insecure and unverifiable.
      HTTP error 400 while getting http://www.pygame.org/../../ftp/pygame-1.6.2.tar.bz2 (from http://www.pygame.org/download.shtml)
    
    • pip install pygame --allow-external=pygame --allow-unverified=pygame --pre almost succeeds:
    Downloading/unpacking pygame
      pygame is potentially insecure and unverifiable.
      Using download cache from /home/mg/.cache/pip/http%3A%2F%2Fwww.pygame.org%2Fftp%2Fpygame-1.9.1release.tar.gz
      Running setup.py (path:/tmp/sandbox/build/pygame/setup.py) egg_info for package pygame
    
    
        WARNING, No "Setup" File Exists, Running "config.py"
        Using UNIX configuration...
    
        sh: 1: smpeg-config: not found
    

    and then it sits there waiting for user input or something -- CPU usage is at 0% -- but it's my own fault for lacking development packages, so I won't hold it against PyPI. Nevertheless, doing a raw_input() in setup.py is not something that works well with pip install.

    Here's what should happen if you don't hate your users:

    • upload source tarballs to PyPI
    • name them according to PEP 440 so the version number doesn't look like a pre-release
    • abstain from asking questions with raw_input if sys.stdout is not a terminal.
  8. René Dudfield reporter

    One note. We need the latest pip to be able to install binary wheels of various types. So our install instructions should include creating virtualenv, doing a pip install pip --upgrade, and then pip install pygame

  9. Log in to comment