% paster Traceback (most recent call last): File "/usr/bin/paster", line 5, in ? from pkg_resources import load_entry_point File "/usr/lib/python2.3/site-packages/pkg_resources.py", line 2356, in ? working_set.require(__requires__) File "/usr/lib/python2.3/site-packages/pkg_resources.py", line 585, in require needed = self.resolve(parse_requirements(requirements)) File "/usr/lib/python2.3/site-packages/pkg_resources.py", line 483, in resolve raise DistributionNotFound(req) # XXX put more info here pkg_resources.DistributionNotFound: Cheetah % It looks like paster cannot find cheetach, even it's installed. I've compiled and installed cheetach RPM package. What is the thing what setuptools looks and doesn't find? That egg info? % rpm -qil python-cheetah Name : python-cheetah Relocations: (not relocatable) Version : 1.0 Vendor: (none) Release : 1 Build Date: Thu 16 Mar 2006 01:52:16 PM EET Install Date: Thu 16 Mar 2006 01:52:33 PM EET Build Host: XXXX.XXXXX.fi Group : Development/Libraries Source RPM: python-cheetah-1.0-1.src.rpm Size : 1993082 License: MIT Signature : (none) Packager : Juha Tuomala <XXXX@XXXXXX.fi> URL : http://sourceforge.net/projects/cheetahtemplate Summary : Template engine and code-generator Description : Cheetah is a Python-powered template engine and code-generator. It is similar to the Jakarta project's Velocity. /usr/bin/cheetah /usr/bin/cheetah-compile /usr/lib64/python2.3/site-packages/Cheetah /usr/lib64/python2.3/site-packages/Cheetah/CacheRegion.py /usr/lib64/python2.3/site-packages/Cheetah/CacheRegion.pyc /usr/lib64/python2.3/site-packages/Cheetah/CheetahWrapper.py /usr/lib64/python2.3/site-packages/Cheetah/CheetahWrapper.pyc /usr/lib64/python2.3/site-packages/Cheetah/Compiler.py /usr/lib64/python2.3/site-packages/Cheetah/Compiler.pyc /usr/lib64/python2.3/site-packages/Cheetah/DummyTransaction.py /usr/lib64/python2.3/site-packages/Cheetah/DummyTransaction.pyc /usr/lib64/python2.3/site-packages/Cheetah/ErrorCatchers.py /usr/lib64/python2.3/site-packages/Cheetah/ErrorCatchers.pyc /usr/lib64/python2.3/site-packages/Cheetah/FileUtils.py /usr/lib64/python2.3/site-packages/Cheetah/FileUtils.pyc /usr/lib64/python2.3/site-packages/Cheetah/Filters.py /usr/lib64/python2.3/site-packages/Cheetah/Filters.pyc /usr/lib64/python2.3/site-packages/Cheetah/ImportHooks.py /usr/lib64/python2.3/site-packages/Cheetah/ImportHooks.pyc /usr/lib64/python2.3/site-packages/Cheetah/ImportManager.py /usr/lib64/python2.3/site-packages/Cheetah/ImportManager.pyc /usr/lib64/python2.3/site-packages/Cheetah/NameMapper.py /usr/lib64/python2.3/site-packages/Cheetah/NameMapper.pyc /usr/lib64/python2.3/site-packages/Cheetah/Parser.py /usr/lib64/python2.3/site-packages/Cheetah/Parser.pyc /usr/lib64/python2.3/site-packages/Cheetah/Servlet.py /usr/lib64/python2.3/site-packages/Cheetah/Servlet.pyc /usr/lib64/python2.3/site-packages/Cheetah/SettingsManager.py /usr/lib64/python2.3/site-packages/Cheetah/SettingsManager.pyc /usr/lib64/python2.3/site-packages/Cheetah/SourceReader.py /usr/lib64/python2.3/site-packages/Cheetah/SourceReader.pyc /usr/lib64/python2.3/site-packages/Cheetah/Template.py /usr/lib64/python2.3/site-packages/Cheetah/Template.pyc /usr/lib64/python2.3/site-packages/Cheetah/TemplateCmdLineIface.py /usr/lib64/python2.3/site-packages/Cheetah/TemplateCmdLineIface.pyc /usr/lib64/python2.3/site-packages/Cheetah/Templates /usr/lib64/python2.3/site-packages/Cheetah/Templates/SkeletonPage.py /usr/lib64/python2.3/site-packages/Cheetah/Templates/SkeletonPage.pyc /usr/lib64/python2.3/site-packages/Cheetah/Templates/SkeletonPage.tmpl /usr/lib64/python2.3/site-packages/Cheetah/Templates/_SkeletonPage.py /usr/lib64/python2.3/site-packages/Cheetah/Templates/_SkeletonPage.pyc /usr/lib64/python2.3/site-packages/Cheetah/Templates/__init__.py /usr/lib64/python2.3/site-packages/Cheetah/Templates/__init__.pyc /usr/lib64/python2.3/site-packages/Cheetah/Tests /usr/lib64/python2.3/site-packages/Cheetah/Tests/CheetahWrapper.py /usr/lib64/python2.3/site-packages/Cheetah/Tests/CheetahWrapper.pyc /usr/lib64/python2.3/site-packages/Cheetah/Tests/FileRefresh.py /usr/lib64/python2.3/site-packages/Cheetah/Tests/FileRefresh.pyc /usr/lib64/python2.3/site-packages/Cheetah/Tests/NameMapper.py /usr/lib64/python2.3/site-packages/Cheetah/Tests/NameMapper.pyc /usr/lib64/python2.3/site-packages/Cheetah/Tests/SyntaxAndOutput.py /usr/lib64/python2.3/site-packages/Cheetah/Tests/SyntaxAndOutput.pyc /usr/lib64/python2.3/site-packages/Cheetah/Tests/Template.py /usr/lib64/python2.3/site-packages/Cheetah/Tests/Template.pyc /usr/lib64/python2.3/site-packages/Cheetah/Tests/Test.py /usr/lib64/python2.3/site-packages/Cheetah/Tests/Test.pyc /usr/lib64/python2.3/site-packages/Cheetah/Tests/__init__.py /usr/lib64/python2.3/site-packages/Cheetah/Tests/__init__.pyc /usr/lib64/python2.3/site-packages/Cheetah/Tests/unittest_local_copy.py /usr/lib64/python2.3/site-packages/Cheetah/Tests/unittest_local_copy.pyc /usr/lib64/python2.3/site-packages/Cheetah/Tools /usr/lib64/python2.3/site-packages/Cheetah/Tools/CGITemplate.py /usr/lib64/python2.3/site-packages/Cheetah/Tools/CGITemplate.pyc /usr/lib64/python2.3/site-packages/Cheetah/Tools/MondoReport.py /usr/lib64/python2.3/site-packages/Cheetah/Tools/MondoReport.pyc /usr/lib64/python2.3/site-packages/Cheetah/Tools/MondoReportDoc.txt /usr/lib64/python2.3/site-packages/Cheetah/Tools/RecursiveNull.py /usr/lib64/python2.3/site-packages/Cheetah/Tools/RecursiveNull.pyc /usr/lib64/python2.3/site-packages/Cheetah/Tools/SiteHierarchy.py /usr/lib64/python2.3/site-packages/Cheetah/Tools/SiteHierarchy.pyc /usr/lib64/python2.3/site-packages/Cheetah/Tools/__init__.py /usr/lib64/python2.3/site-packages/Cheetah/Tools/__init__.pyc /usr/lib64/python2.3/site-packages/Cheetah/Utils /usr/lib64/python2.3/site-packages/Cheetah/Utils/Indenter.py /usr/lib64/python2.3/site-packages/Cheetah/Utils/Indenter.pyc /usr/lib64/python2.3/site-packages/Cheetah/Utils/Misc.py /usr/lib64/python2.3/site-packages/Cheetah/Utils/Misc.pyc /usr/lib64/python2.3/site-packages/Cheetah/Utils/VerifyType.py /usr/lib64/python2.3/site-packages/Cheetah/Utils/VerifyType.pyc /usr/lib64/python2.3/site-packages/Cheetah/Utils/WebInputMixin.py /usr/lib64/python2.3/site-packages/Cheetah/Utils/WebInputMixin.pyc /usr/lib64/python2.3/site-packages/Cheetah/Utils/__init__.py /usr/lib64/python2.3/site-packages/Cheetah/Utils/__init__.pyc /usr/lib64/python2.3/site-packages/Cheetah/Utils/optik /usr/lib64/python2.3/site-packages/Cheetah/Utils/optik/__init__.py /usr/lib64/python2.3/site-packages/Cheetah/Utils/optik/__init__.pyc /usr/lib64/python2.3/site-packages/Cheetah/Utils/optik/errors.py /usr/lib64/python2.3/site-packages/Cheetah/Utils/optik/errors.pyc /usr/lib64/python2.3/site-packages/Cheetah/Utils/optik/option.py /usr/lib64/python2.3/site-packages/Cheetah/Utils/optik/option.pyc /usr/lib64/python2.3/site-packages/Cheetah/Utils/optik/option_parser.py /usr/lib64/python2.3/site-packages/Cheetah/Utils/optik/option_parser.pyc /usr/lib64/python2.3/site-packages/Cheetah/Version.py /usr/lib64/python2.3/site-packages/Cheetah/Version.pyc /usr/lib64/python2.3/site-packages/Cheetah/__init__.py /usr/lib64/python2.3/site-packages/Cheetah/__init__.pyc /usr/lib64/python2.3/site-packages/Cheetah/_namemapper.so /usr/share/doc/python-cheetah-1.0 /usr/share/doc/python-cheetah-1.0/CHANGES /usr/share/doc/python-cheetah-1.0/LICENSE /usr/share/doc/python-cheetah-1.0/README /usr/share/doc/python-cheetah-1.0/TODO % -- Ajatteleva ihminen tarvitsee unta.
At 02:56 PM 3/16/2006 +0200, Juha Tuomala wrote:
It looks like paster cannot find cheetach, even it's installed. I've compiled and installed cheetach RPM package. What is the thing what setuptools looks and doesn't find? That egg info?
Yes. The simplest way to get it is probably to build the Cheetah RPM using setuptools, by getting the source and then running this in the directory with its setup.py: python -c "import setuptools; execfile('setup.py')" bdist_rpm ... where '...' is any arguments you would normally pass to "setup.py bdist_rpm". You can probably fetch the Cheetah source using easy_install, e.g.: easy_install -eb. Cheetah which will create a 'cheetah' directory in the current directory, containing the source distribution. You can then 'cd cheetah' and run the setuptools command shown above.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Thursday 16 March 2006 21:52, Phillip J. Eby wrote:
Yes. The simplest way to get it is probably to build the Cheetah RPM using setuptools, by getting the source and then running this in the directory with its setup.py:
python -c "import setuptools; execfile('setup.py')" bdist_rpm ...
These switches are pobably used: --spec-only only regenerate spec file --source-only only generate source RPM --binary-only only generate binary RPM I tried --spec-only and the spec file what it generates might work, but would never pass to Fedora/Red Hat/Suste distro as such. Linux distributions simply are that different from each other that you can't mix specs, you need to write its own to every distro itself. In Linux world dependencies are handled with package management with RPM and yum/apt like tools. For me it looks that setuptools handles same area which is overlapping. I can see it's importance in systems like Solaris where its own package tool is so ancient what doesn't meet todays needs but in case of RPM or Linux, it would be just better to be able to do simple install and let the system native tools to handle the rest. BR, Tuju - -- Ajatteleva ihminen tarvitsee unta. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2.1 (GNU/Linux) iD8DBQFEGsKzQnPP29fw0xMRAnLWAJ93LY98D1AVNdL2uyh4aK6pf8Ot2gCfcpy5 FTpVxbwHi/plVlNJRhZW3Q0= =eWVv -----END PGP SIGNATURE-----
At 04:07 PM 3/17/2006 +0200, Juha Tuomala wrote:
On Thursday 16 March 2006 21:52, Phillip J. Eby wrote:
Yes. The simplest way to get it is probably to build the Cheetah RPM using setuptools, by getting the source and then running this in the directory with its setup.py:
python -c "import setuptools; execfile('setup.py')" bdist_rpm ...
These switches are pobably used:
--spec-only only regenerate spec file --source-only only generate source RPM --binary-only only generate binary RPM
I tried --spec-only and the spec file what it generates might work, but would never pass to Fedora/Red Hat/Suste distro as such.
Okay, then make the spec file do this for the install (instead of "python setup.py install --root"): python -c "import setuptools; execfile('setup.py')" install --root=... etc.
In Linux world dependencies are handled with package management with RPM and yum/apt like tools. For me it looks that setuptools handles same area which is overlapping. I can see it's importance in systems like Solaris where its own package tool is so ancient what doesn't meet todays needs but in case of RPM or Linux, it would be just better to be able to do simple install and let the system native tools to handle the rest.
And that's exactly what you'll be able to do when Python 2.5 comes out. As it happens, you encountered only two actual limitations of the existing interface between setuptools and system packaging tools: 1. Namespace packages (which are used by the Paste* projects) and system packages don't work together properly yet 2. Not every Python project includes egg-info yet (e.g. Cheetah) Item #1 is now fixed in Subversion. Item #2 will be completely fixed when Python 2.5 comes out, as all distutils-based packages will install a .egg-info file, not just setuptools-based ones. Until Python 2.5 comes out, however, setuptools-based packages with dependencies will require that their dependency packages be repackaged using setuptools so that they install the .egg-info. This should only require a 1-line change to the dependency's spec file, as shown above. Thank you for having the patience to stick with it this long, and for providing me with the information I needed in order to fix problem #1. I hope you will find that the latest version of setuptools in Subversion makes it possible for you to proceed now.
On Fri, 17 Mar 2006, Juha Tuomala wrote: [...]
In Linux world dependencies are handled with package management with RPM and yum/apt like tools. For me it looks that setuptools handles same area which is overlapping. I can see it's importance in systems like Solaris where its own package tool is so ancient what doesn't meet todays needs but in case of RPM or Linux, it would be just better to be able to do simple install and let the system native tools to handle the rest.
This argument has already been gone through at great length on this list. In brief, Phillip has a number of goals that are not met by any system such as RPM. I'm sure it would be appreciated on all sides if you read the archived posts on this, wait for two days to cool off (not saying you're tetchy, but other people certainly were ;-), and then decide if you want to post more on this point. John
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Friday 17 March 2006 16:40, John J Lee wrote:
This argument has already been gone through at great length on this list. In brief, Phillip has a number of goals that are not met by any system such as RPM.
Maybe. I look forward when I can install my binary kernel as setuptools egg. Or did you mean that the goal was not to unify sw management so that computer illeterates could install software without reading zillion different README's and learning different systems?
(not saying you're tetchy, but other people certainly were ;-), and then decide if you want to post more on this point.
You got me wrong in that point. I just try not to express it publicly as it typically doesn't help anything. :-)
I'm sure it would be appreciated on all sides if you read the archived posts on this, wait for two days to cool off
I did for this year. If I got the right picture, I try to stay away anything what uses setuptools. I think that it's just trying to solve problems inside python sandbox what is just 1% of the whole sw management issue and at the same time it's making it impossible to be solved properly where it should be done. BR, Tuju - -- Ajatteleva ihminen tarvitsee unta. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2.1 (GNU/Linux) iD8DBQFEGuAqQnPP29fw0xMRApqvAJ93MtURVESNcLJPqMfZ6902X2Q68QCfYaN9 Ht1+luRG/w3Vp+9FMgeleA8= =1ZxO -----END PGP SIGNATURE-----
/usr/lib64/python2.3/site-packages/Cheetah ------^^^^^^
Be cautious, I have experienced Python packages which hard-code 'lib' in their search path. I cannot speak to your situation, or certainly to distutils (yet), but wanted to mention that in case it rang bells with someone. -- /v\atthew
participants (4)
-
John J Lee -
Juha Tuomala -
Matthew L Daniel -
Phillip J. Eby