Am 18.06.2010 um 10:17 schrieb Gisborne:
Trying to start a 2.1b2 project. I get this:
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/2.6/bin/paster",
line 8, in <module>
load_entry_point('PasteScript==1.7.3', 'console_scripts', 'paster')
()
File "/Library/Frameworks/Python.framework/Versions/2.6/lib/
python2.6/site-packages/PasteScript-1.7.3-py2.6.egg/paste/script/
command.py", line 73, in run
commands = get_commands()
File "/Library/Frameworks/Python.framework/Versions/2.6/lib/
python2.6/site-packages/PasteScript-1.7.3-py2.6.egg/paste/script/
command.py", line 115, in get_commands
plugins = pluginlib.resolve_plugins(plugins)
File "/Library/Frameworks/Python.framework/Versions/2.6/lib/
python2.6/site-packages/PasteScript-1.7.3-py2.6.egg/paste/script/
pluginlib.py", line 81, in resolve_plugins
pkg_resources.require(plugin)
File "/Library/Frameworks/Python.framework/Versions/2.6/lib/
python2.6/site-packages/setuptools-0.6c11-py2.6.egg/pkg_resources.py",
line 666, in require
File "/Library/Frameworks/Python.framework/Versions/2.6/lib/
python2.6/site-packages/setuptools-0.6c11-py2.6.egg/pkg_resources.py",
line 569, in resolve
pkg_resources.VersionConflict: (SQLAlchemy 0.6.1 (/Library/Frameworks/
Python.framework/Versions/2.6/lib/python2.6/site-packages/
SQLAlchemy-0.6.1-py2.6.egg),
Requirement.parse('SQLAlchemy>=0.5.0,<=0.5.99'))
I *had* found a requirement in mapfish that looked like
SQLAlchemy>=0.5.0,<=0.5.99, but I deleted that line. The string
SQLAlchemy>=0.5.0,<=0.5.99 occurs nowhere in the project (checked with
grep, also for various substrings). There isn't obviously a way to get
an actually useful error message that would tell me where it's getting
the conflicting requirement.
The error messag sucks, that much is for sure. What you need to look
at are requires.txt files inside eggs. If eggs are zipped, you need to
unzip them. I use this little script to do that:
#!/bin/bash
# pass an eggfile, and extract it under the
# same name.
if [ "$1" = ]; then
echo "Please give an EGG-file."
exit 0
fi
if [ -f "$1" ]; then
eggname=`basename $1`
base_dir=`dirname $1`
outdir=/tmp/egg_unzip$RANDOM
unzip "$1" -d $outdir
echo $outdir
mv "$1" "$1.old"
mkdir "$base_dir/$eggname"
cp -r $outdir/* "$base_dir/$eggname"
rm "$1.old"
rm -rf $outdir
else
echo "Not a file!"
fi
However, this is just part of the solution, it won't help you to know
who has the requirement - because you need to fulfill it anyway. See
below.
I would appreciate some advice (this is MacOS 10.6.3). I'm trying to
get started with TurboGears, and on this new Mac with hardly anything
installed on it, I've now been working at just launching this damn
project for four days now.
You should use virtualenvs for your project, with --no-site-packages
as argument when creating them, to prevent system packages to shadow
specific versions TG2 is interested in.
Honestly I think you should cleon out the Python interpreter's site-
packages from SQLAlchemy and others, whoever wanted it in there should
be installed in it's own Venv itself. Cluttering the sys.path with
packages of all kind is a sure road to desparation. So whenever you
install something pythony, use a dedicated venv. I created a little
wrapper-script for that purpose, so I manage them all in one place.
Diez
--
You received this message because you are subscribed to the Google Groups
"TurboGears" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/turbogears?hl=en.