[ZODB-Dev] Solved!!! Re: unable to import ZODB: class ConflictError, AttributeError

Ralf Hauenschild ralf_hauenschild at gmx.de
Thu Jun 14 09:38:20 UTC 2012


Am 14.06.2012 10:58, schrieb Alexandre Garel:
> Le 14/06/2012 10:06, Ralf Hauenschild a écrit :
>> Am 14.06.2012 09:18, schrieb Marius Gedminas:
>>> On Wed, Jun 13, 2012 at 10:58:01PM +0200, Ralf Hauenschild wrote:
>>>> Am 13.06.2012 19:36, schrieb Alexandre Garel:
>>>>> Le 13/06/2012 18:57, Ralf Hauenschild a écrit :
>>>>>> Hello guys,
>>>>>>
>>>>>> i've been desperately trying to install ZODB3 via the following ways:
>>>>>> - easy_install ZODB3
>>>>>> - installation of Zope2
>>>>>> - manual installation of ZODB3, preceeded by installation of the
>>>>>> requested packages from pypi
>>>>>>
>>>>>> I'm using Ubuntu and Python 2.6.
>>>>>>
>>>>>> Whe trying to import ZODB, I'm still getting the following error:
>>>>>>
>>>>>>
>>>>>> python
>>>>>> Python 2.6.5 (r265:79063, Apr 16 2010, 13:57:41)
>>>>>> [GCC 4.4.3] on linux2
>>>>>> Type "help", "copyright", "credits" or "license" for more information.
>>>>>>>>> import ZODB
>>>>>> Traceback (most recent call last):
>>>>>>   File "<stdin>", line 1, in<module>
>>>>>>   File "/usr/local/lib/python2.6/dist-packages/ZODB3-3.10.5-py2.6-linux-x86_64.egg/ZODB/__init__.py",
>>>>>> line 28, in<module>
>>>>>>     from DB import DB, connection
>>>>>>   File "/usr/local/lib/python2.6/dist-packages/ZODB3-3.10.5-py2.6-linux-x86_64.egg/ZODB/DB.py",
>>>>>> line 28, in<module>
>>>>>>     from ZODB.Connection import Connection
>>>>>>   File "/usr/local/lib/python2.6/dist-packages/ZODB3-3.10.5-py2.6-linux-x86_64.egg/ZODB/Connection.py",
>>>>>> line 33, in<module>
>>>>>>     from ZODB.blob import Blob, rename_or_copy_blob,
>>>>>> remove_committed_dir
>>>>>>   File "/usr/local/lib/python2.6/dist-packages/ZODB3-3.10.5-py2.6-linux-x86_64.egg/ZODB/blob.py",
>>>>>> line 35, in<module>
>>>>>>     from ZODB.POSException import POSKeyError
>>>>>>   File "/usr/local/lib/python2.6/dist-packages/ZODB3-3.10.5-py2.6-linux-x86_64.egg/ZODB/POSException.py",
>>>>>> line 71, in<module>
>>>>>>     class ConflictError(POSError,
>>>>>> transaction.interfaces.TransientError):
>>>>>> AttributeError: 'module' object has no attribute 'TransientError'
>>> You need a newer version of the 'transaction' package.  Unfortunately
>>> the changelog athttp://pypi.python.org/pypi/transaction  doesn't say
>>> which version added TransientError, but why not get the latest one?
>>>
>>>>>> Can anybody help me, please?
>>>>> The problem may be  with a system wide installed version of transaction.
>>>>>
>>>>> I would say, try in a virtualenv with no site packages :
>>>>>
>>>>> $ virtualenv -p /usr/bin/python2.6 --no-site-packages myproject
>>>>> $ cd myproject
>>>>> $ . bin/activate
>>>>> $ pip install ZODB3
>>>>>
>>>>> Hope this helps,
>>>> Unfortunately, the error remains :(
>
> You mean in the global python ? For sure ! My goal was to make it work 
> in the virtualenv.
>
>
> [-- snip --]
>> Any further ideas?
>> Python path is set in the global environment. In the virtualenv, it 
>> was not set, but everything worked there anyway.
>
> You have a non compatible version of transaction installed globally, 
> so you won't run ZODB3 with your global environment. So Install / 
> develop your software  in the isolated virtualenv. Is there a problem 
> with that ?
>
> If you need it for system script, the shebang just have to use the 
> virtualenv python interpreter : #! /path/to/virtualenv/bin/python.
>
> Regards,
> Alex
>
>

Hello all!

Thank you very much for your help! It finally worked!
I just deleted the package folders of "transaction" in the dist-packages 
folder of Python. Then I reinstalled the latest version of transaction 
and it was done :)
I can now successfully import ZODB.
Keep on helping people, nice job!

Best regards,
Ralf

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.zope.org/pipermail/zodb-dev/attachments/20120614/e565779f/attachment.html>


More information about the ZODB-Dev mailing list