The PEAK Developers' Center   Diff for "PackageNotes" UserPreferences
 
HelpContents Search Diffs Info Edit Subscribe XML Print View
Ignore changes in the amount of whitespace

Differences between version dated 2006-12-16 21:38:47 and 2008-09-21 12:12:13 (spanning 36 versions)

Deletions are marked like this.
Additions are marked like this.

Note also that EasyInstall does not follow links on "This project has moved" redirection pages; please ask the author to fix their PyPI entries!
 
 
Installed, Appeared OK
----------------------
 
* aquarium-2.2.1
* BeautifulSoup 2.1.0 (works as of 0.5a2)
* ctypes-0.9.6 (must use download URL, as PyPI info is broken; see also notes below)
* epydoc-2.1
* fonttools-2.0b1
* kid
* LuPy-0.2.1
* nevow-0.4.1
* Numeric-24.0b2 (must use exact download URL; PyPI info is broken)
* numarray-1.3.2 (must use exact download URL; PyPI info is broken)
* ownet
* paramiko-1.3
* pmock-0.3
* PSE-2.2.2
* pullparser-0.0.5b
* pyblosxom-1.2
* Pychecker-0.8.14 (works as of 0.5a3)
* PyContainer-0.4
* PyDispatcher-1.0.2
* PyProtocols-0.9.3
* Pyrex-0.9.3
* Quotient-0.9.1
* SCGI 1.2
* SQLObject 0.6.1
* Twisted-1.3.0rc1
* WebStack-0.9
* WSGI Utils 0.5
* ZConfig-2.2
* ZODB-3.4.0b1
* ZPTKit 0.2
 
 
Installation Notes/Issues
-------------------------
 

 
If you are responsible for any of the following packages, please consider making changes so that your downstream users can use EasyInstall to install them. If you're a user of one of these packages, please consider contributing a patch to the package's authors to make them compatible.
 
beautifulsoup 2.1.0
   Bails out from a unit test. When running outside of easy_install the tests still fail, but the installation continues.
 
ctypes 0.9.6
   Will install if you use give the package's *exact* download URL. (The PyPI package information for ctypes doesn't link to a page with usable download URLs; it should be changed to point to the ``showfiles.php`` page on SourceForge.) Also, ctypes is unusual in that its ``.tar.gz`` and its ``.zip`` distributions are for *different platforms* - the ``.zip`` version is for Windows, and the ``.tar.gz`` is for other platforms. For Windows, this is not a big problem, because as of 0.5a2, EasyInstall supports installing from distutils-generated ``.win32.exe`` files, but you may encounter problems on other platforms if EasyInstall picks up the ``.zip`` instead of the ``.tar.gz``. If all else fails, give EasyInstall the exact download URL.
 
easyinstall/ez_setup
   On Windows XP behind a SOCKS & HTTP proxy, I essentially failed to install setuptools or easyinstall. The ez_setup script tries to connect to the Internet and times out while it can't. I manually downloaded setuptools-0.6a11-py2.4.egg and placed it in the same folder as ez_setup.py. In such case I would expect that it would just "unegg" and install that file but it didn't. So I found myself in a typical chicken-and-egg problem: in order to be able to install another .egg file, I have to install an .egg file. I would very much prefer if easyinstall did not use easyinstall itself but relied on a simple disutils setup.py. Or even better, there could be an .exe installer for setuptools so that users don't have to struggle to install setuptools.
  I worked around this by replacing "to_dir=tmpdir" with "to_dir=os.curdir" in line 161 of ez_setup.py and it worked. I believe the ez_setup.py should first look in the current folder and only then in the temp folder for an existing .egg.
   On Windows XP behind a SOCKS & HTTP proxy, I essentially failed to install setuptools or easyinstall. The ez_setup script tries to connect to the Internet and times out while it can't. I manually downloaded setuptools-0.6a11-py2.4.egg and placed it in the same folder as ez_setup.py. In such case I would expect that it would just "unegg" and install that file but it didn't. So I found myself in a typical chicken-and-egg problem: in order to be able to install another .egg file, I have to install an .egg file. I would very much prefer if easyinstall did not use easyinstall itself but relied on a simple disutils setup.py. Or even better, there could be an .exe installer for setuptools so that users don't have to struggle to install setuptools.
 
 I worked around this by replacing "to_dir=tmpdir" with "to_dir=os.curdir" in line 161 of ez_setup.py and it worked. I believe the ez_setup.py should first look in the current folder and only then in the temp folder for an existing .egg.
 
  I got this to work by setting the environment var "http_proxy". On winxp that was ::
 
     set http_proxy=http://user:password@proxy:port
 
ipython-0.6.13
   Appears to install correctly, but it's not clear to me if perhaps it expects users to edit the files in its ``IPython/UserConfig`` directory, or whether those are just templates.
  Another windows issue (Windows XP and Windows 2003 SBE) easy_install fails to find the python executable because python is installed in c:\program files\Python25 (or some other path with spaces I'd assume). It returns "Cannot find Python executable C:\Program". But since it's an executable file I can't figure out where its reading the directory from. So while you can install using ez_setup fine, it won't find eggs once installed.
 
   They are templates that should be included as package_data. -- Robert Kern
 Yet another Windows experience. I had just installed python 2.5 on a machine with python 2.4, and updated PATH and PYTHONPATH to refer to the new installation. Next step was to download and run ez_setup.py. I wasn't sure where I should put it; I put it in 2.5's site-packages. Running ez_setup.py seemed to work fine, but afterwards easy_install always produced "ImportError: No module named pkg_resources". I moved ez_setup.py up to C:/Python25, ran it again, and now easy_install is happy. It looks like ez_setup.py should *not* be saved to and run from site-packages.
 
  Same initial conditions (more or less, i.e., had just re-installed 2.5), same symptoms, even after moving ez_setup.py out of site-packages; turned out the problem was I didn't even have a PYTHONPATH environment variable defined at all! Defined it to be C:\Python25 and now everything's working as advertised.
 
 A Windows x64 problem: I've installed the Python 2.5 64 bit version for Windows. I downloaded ez_setup.py and ran it. Now when I'm trying to use it (just the easy_install binary with no arguments) I get this error message::
 
  Cannot find Python executable C:\Python25\python.exe
 
 Well, my python.exe is exactly on that path. Can this be a 32/64 bit issue? I.e. a 32-bit application trying to invoke a 64-bit application.
 
ll-sisyphus-0.10.1
   Author's name in package metadata includes an 8-bit character, which can't be written to PKG-INFO file

 
     easy_install -f http://www.pythonware.com/products/pil/ Imaging
 
 
psyco
    Broken link? On OSX 10.5.1, I get ::
 
      easy_install psyco
      Searching for psyco
      Reading http://pypi.python.org/simple/psyco/
      Reading http://psyco.sourceforge.net/
      Best match: psyco snapshot
      Downloading http://snake.cs.uni-duesseldorf.de/psyco/psyco-snapshot.tar.gz
      error: Unexpected HTML page found at http://snake.cs.uni-duesseldorf.de/psyco/psyco-snapshot.tar.gz
 
    Sorry about the lack of formatting: I tried over a dozen times to get a code block displayed, but I kept getting an error. <sigh>
 
    I don't know what I can do about the psyco error: I'm new to easy_install. --Clytie Siddall
 
psycopg
    OnOSX 10.5.2, the following easy-install, isn\'t \'easy\' ::
   
      prompt$ easy_install psycopg
      Searching for psycopg
      Reading http://pypi.python.org/simple/psycopg/
      Reading http://initd.org/projects/psycopg1
      Best match: psycopg 1.1.21
      Downloading 'http://initd.org/pub/software/psycopg/psycopg-1.1.21.tar.gz'
      Processing psycopg-1.1.21.tar.gz
      'error: Couldn't find a setup script in /var/folders/GM/GM5-RBdNFr8LCStaQL8Ea++++TI/-Tmp-/easy_install-BRg4VA/psycopg-1.1.21.tar.gz'
 
 
    
 
Pygame 1.7.1
    Install works, but fails to install /usr/local/include/python2.3/pygame/* so other C modules from other projects won't compile.
 
 
ReportLab-1.20
   setup.py is in a third-level directory. Also, it tries to second-guess install locations, so even if it ran, it would require some hacking of its data file path munging code in setup.py. This would probably work fine if it were changed to use the de-facto standard hack for distutils.command.install_data, used by other packages to install data in their package directories.
 

scipy_core
   Despite being listed on Cheese Shop, I can't get scipy_core to play. I have scipy_core 0.7.1.1517 installed from my own svn checkout, but doing pkg_resources.require("scipy_core") results in pkg_resources.DistributionNotFound: scipy-core and pkg_resources.require("scipy") results in pkg_resources.DistributionNotFound: scipy. I suspect this is because the distribution scipy_core actually installs a package named scipy. (But this doesn't explain whey pkg_resources.require("scipy") fails.) Is there some documentation about how pkg_resources actually finds packages? I want to allow other packages to say install-requires=['scipy_core>=0.6']
 
transitfeed
    I'm the maintainer of the dist. We had a py2exe binary list at http://code.google.com/p/googletransitdatafeed/ with the name transitfeed-1.0.7-windows.zip and source dist in transitfeed-1.0.7.tar.gz. easy_install running in linux downloaded the zip instead of the tar.gz on the project homepage and the tar.gz on PyPI. It would be nice if easy_install was a little more clever in `def find(req)`. For example, if two files look like the some version take the one on the index page. When not running on windows try to avoid .zip files. A guide to naming files to best avoid false matches would be nice.
 
turtle2.py
    The name of the package isn't parseable, I guess: http://www.python.org/pypi/turtle2.py/1.0.0 (well, the package isn't actually setup with distutils; but easy_install bails out before it gets that far. Maybe PyPI should reject names like that.
 

Twisted 2.1.0
   setup fails, with text::
 
       AttributeError: 'bool' object has no attribute 'name'
       AttributeError: 'bool' object has no attribute 'name'
 
Basically this is because they use an extension mechanism that isn't supported by easy_install; see http://mail.python.org/pipermail/distutils-sig/2006-February/005960.html for more information.
 

 
-- Robert Kern
 
HTML Tag Case Sensitivity in SourceForge Mirror Page
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
I couldn't get EasyInstall (``v0.6a9``) to download a package (`NetworkX <https://networkx.lanl.gov/>`_) from SourceForge because the mirror page had lowercase ``META HTTP-EQUIV`` tags. The following patch to ``setuptools/package_index.py`` fixed the problem: ::
 
    diff -Naur setuptools-0.6a9/package_index.py setuptools-new/package_index.py
    --- setuptools-0.6a9/package_index.py 2006-02-11 05:28:52.000000000 +0000
    +++ setuptools-new/package_index.py 2006-02-11 05:29:30.000000000 +0000
    @@ -491,12 +491,15 @@
 
 
         def _download_sourceforge(self, source_url, sf_page, tmpdir):
    - """Download package from randomly-selected SourceForge mirror"""
    + """Download package from randomly-selected SourceForge mirror. Matching
    + is case-insenstive to HTML tags as both lowercase and uppercase have
    + been seen in SourceForge's mirror page.
    + """
 
             self.debug("Processing SourceForge mirror page")
 
    - mirror_regex = re.compile(r'HREF="?(/.*?\?use_mirror=[^">]*)', re.I)
    - urls = [m.group(1) for m in mirror_regex.finditer(sf_page)]
    + mirror_regex = re.compile(r'(HREF|href)="?(/.*?\?use_mirror=[^">]*)', re.I)
    + urls = [m.group(2) for m in mirror_regex.finditer(sf_page)]
             if not urls:
                 raise DistutilsError(
                     "URL looks like a Sourceforge mirror page, but no URLs found"
    @@ -512,13 +515,13 @@
 
             f = self.open_url(url)
             match = re.search(
    - r'<META HTTP-EQUIV="refresh" content=".*?URL=(.*?)"',
    + r'<(META HTTP-EQUIV|meta http-equiv)="refresh" content=".*?URL=(.*?)"',
                 f.read()
             )
             f.close()
 
             if match:
    - download_url = match.group(1)
    + download_url = match.group(2)
                 scheme = URL_SCHEME(download_url)
                 return self._download_url(scheme.group(1), download_url, tmpdir)
             else:
 
Catch-22 trying to follow Custom Installation Locations procedure
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
Using the recommended approach of `Creating a "Virtual" Python <http://peak.telecommunity.com/DevCenter/EasyInstall#creating-a-virtual-python>`_ gave me an error when running virtual-python.py::
 
  $ python virtual-python.py --help
    Traceback (most recent call last):
      File "virtual-python.py", line 5, in ?
      import sys, os, optparse, shutil
      ImportError: No module named optparse
 
So apparently I need to install the optparse module, which would have to be in a custom installation location since I'm not root, in order to install modules in custom installation locations. Catch-22. Am I missing something? My host (he.net) has python 2.2.3 installed, and I do not have control over when they upgrade.
 
(Your problem is that you have Python 2.2, which is not supported. Setuptools requires Python 2.3 or better, with 2.3.5 being preferred.)
 
Easy_Install Python 2.4.3 doesn't match name of earlier version correctly.
--------------------------------------------------------------------------
 
$ easy_install Python-2.4.3
 
    Searching for python
 
    Reading http://cheeseshop.python.org/pypi/python/
 
    Couldn't find index page for 'python' (maybe misspelled?)
 
    Scanning index of all packages (this may take a while)
 
    Reading http://cheeseshop.python.org/pypi/
 
    Reading http://cheeseshop.python.org/pypi/Python/2.5
 
    Reading http://www.python.org/2.5
 
    Best match: Python 2.5
 
    Downloading http://www.python.org/ftp/python/2.5/Python-2.5.tgz
 
    Similar output for Python 2.4.3, python-2.4.3, etc.
 
 
Easy_Install Fails to Match versions on FTP Server Lists
--------------------------------------------------------
 
Easy_Install does not parse source distribution(sdist) file versions properly under FTP.
It tries to read FTP file listings, but fails.
 
ERROR
 For example, Easy_Install can't find python-memcached version 1.39 in the FTP list.
 There is a python-memcached-1.39.tar.gz in FTP, referred by PyPI::
 
  $ easy_install python-memcached==1.39
  Searching for python-memcached==1.39
  Reading http://pypi.python.org/simple/python-memcached/
  Reading http://www.tummy.com/Community/software/python-memcached/
  Reading ftp://ftp.tummy.com/pub/python-memcached/
  No local packages or download links found for python-memcached==1.39
  error: Could not find suitable distribution for Requirement.parse('python-memcached==1.39')
 
 
SUCCESS
 Without any version limitation, it does find that same python-memcached as the "latest".
 There is a python-memcached-latest.tar.gz found in FTP::
 
  $ easy_install 'python-memcached'
  Searching for python-memcached
  Reading http://pypi.python.org/simple/python-memcached/
  Reading http://www.tummy.com/Community/software/python-memcached/
  Reading ftp://ftp.tummy.com/pub/python-memcached/
  Best match: python-memcached latest
  Downloading ftp://ftp.tummy.com/pub/python-memcached/python-memcached-latest.tar.gz
  ....
  Installed /home/adroffne/python-work/try-distutils/test-site/lib/python_memcached-1.39-py2.5.egg
 
(The actual issue is that ``setuptools.package_index`` cannot convert FTP directory listings into URLs.)
 
 
Installing on Fedora (Core 7)
-------------------------------
 
 
I installed amara on FC7 and fell foul of the selinux security package.
 
This is the log entry from selinux.
 
 
SummarySELinux is preventing the python from using potentially mislabeled files (/usr/lib/python2.5/site-packages/Amara-1.2.0.2-py2.5.egg).
 
Detailed Description
 
SELinux has denied python access to potentially mislabeled file(s) (/usr/lib/python2.5/site-packages/Amara-1.2.0.2-py2.5.egg).
 
This means that SELinux will not allow python to use these files. It is common for users to edit files in their home directory or tmp directories and then move (mv) them to system directories. The problem is that the files end up with the wrong file context which confined applications are not allowed to access.
 
Allowing Access
 
If you want python to access this files, you need to relabel them using restorecon -v /usr/lib/python2.5/site-packages/Amara-1.2.0.2-py2.5.egg. You might want to relabel the entire directory using restorecon -R -v /usr/lib/python2.5/site-packages.
 
 
I guess this could happen with easy_install on any package in a Fedora system?
No mention of it whilst installing?
Might be good to let users know.
 
 
Using on Windows Vista and Server 2008
--------------------------------------
 
 
The magic .exe wrapper files tend to get in the way on these platforms. I would find it easier to use setuptools if they were not there at all.
 
The problem is that those .exe wrapper files need to run as admin, even though the installation script usually doesn't need those rights. That means confirming every action. Even worse, when you run an executable as admin from a shell, it gets launched into its own process, thus creating a new window. When it terminates, it takes its window with it.
 
Therefore, you never get to see any command-line output - the widow closes as soon as it appears.
 
As such, the .exe wrappers are entirely unusable. Unfortunately, they take over the easy-to-type names. Is it possible to make the .exe wrappers only elevate to admin privs when they need them (which is never, in my experience so far)?
 
Because I can't use the .exe wrappers, I run into another problem. Fixing those wrappers would probably hide the problem below again.
 
It is hard to override the Windows approach to discovering which application to use to launch a particular document. If I always and only wanted one Python install, then I can (and do) just add .py to the cmdspec env variable. Because .py is associated with my system Python, then I can just type ::
 
    scriptname args
 
at the shell & it'll run ::
 
    python.exe path\to\scriptname.py args
 
(Sometimes I have to fix up the open command for .py files so that it'll pass those args along.)
 
However, I don't know of any good solution when I'm running multiple Pythons (via virtualenv). Short of PowerShell, there isn't a good way to change which python will be used to run .py files (in the registry). And when you just run a script, Windows chooses the executable, based on the registry.
 
Does anyone have any good idea how to get multiple virtualenvs to work on Windows, without having to type `python full\path\to\script.py` every time?
 
Eggs do not appear to honor PYTHONPATH
--------------------------------------
 
I installed python-sybase 0.39 (found on sourceforge, not automatically installed) on Solaris with Python 2.5.2 and setuptools 0.6c8. It made a single file called python_sybase-0.39-py2.5-solaris-2.10-sun4u.egg in the site-packages directory.
 
Later, a user found that his software was not compatible with the latest python-sybase, so he tried to point his PYTHONPATH at a directory that contained an older version. It kept picking up the newer version, though and he eventually asked me to remove the new version from the system so he could get his program to work.
 
The problem turns out to be that something puts all the .egg files on sys.path AHEAD of the directories that are in PYTHONPATH. Consequently, PYTHONPATH can never override them.
 
I found that I could make it work by 1) removing the .egg file from site-packages, or 2) altering sys.path from my python program before doing the import.
 
path.py
---------
 
When doing `easy_install path.py` it didnt find anything - but it should find http://pypi.python.org/pypi/path.py ----> http://pypi.python.org/packages/source/p/path.py/path-2.2.zip#md5=941660081788282887f652510d80e64e
 
 
 

PythonPowered
ShowText of this page
EditText of this page
FindPage by browsing, title search , text search or an index
Or try one of these actions: AttachFile, DeletePage, LikePages, LocalSiteMap, SpellCheck