开发者

django module already import and python egg warnings

Can anyone help me get rid of these warnings in Django please?

/usr/lib/python2.6/site-packages/simplejson-2.1.5-py2.6-linux-x86_64.egg/simplejson/_speedups.py:3: UserWarning: Module taggit was already imported from /var/www/html/matilah/taggit/__init__.py, but /usr/lib/python2.6/site-packages/django_taggit-0.9.3-py2.6.egg is being added to sys.path

Traceback (most recent call last):
 File "manage.py", line 11, in <module>
   execute_manager(settings)
 File "/usr/lib/python2.6/site-packages/django/core/management/__init__.py", line 438, in execute_manager
   utility.execute()
 File "/usr/lib/python2.6/site-packages/django/core/management/__init__.py", line 379, in execute
   self.fetch_command(subcommand).run_from_argv(self.argv)
 File "/usr/lib/python2.6/site-packages/django/core/management/__init__.py", line 261, in fetch_command
   klass = load_command_class(app_name, subcommand)
 File "/usr/lib/python2.6/site-packages/django/core/management/开发者_开发百科__init__.py", line 67, in load_command_class
   module = import_module('%s.management.commands.%s' % (app_name, name))
 File "/usr/lib/python2.6/site-packages/django/utils/importlib.py", line 35, in import_module
   __import__(name)
 File "/usr/lib/python2.6/site-packages/haystack/__init__.py", line 154, in <module>
   handle_registrations()
 File "/usr/lib/python2.6/site-packages/haystack/__init__.py", line 151, in handle_registrations
   search_sites_conf = importlib.import_module(settings.HAYSTACK_SITECONF)
 File "/usr/lib/python2.6/site-packages/django/utils/importlib.py", line 35, in import_module
   __import__(name)
 File "/var/www/html/matilah/search_sites.py", line 2, in <module>
   haystack.autodiscover()
 File "/usr/lib/python2.6/site-packages/haystack/__init__.py", line 106, in autodiscover
   app_path = importlib.import_module(app).__path__
 File "/usr/lib/python2.6/site-packages/django/utils/importlib.py", line 35, in import_module
   __import__(name)
 File "/var/www/html/matilah/disqus/__init__.py", line 5, in <module>
   from django.utils import simplejson as json
 File "/usr/lib/python2.6/site-packages/django/utils/simplejson/__init__.py", line 111, in <module>
   import simplejson
 File "/usr/lib/python2.6/site-packages/simplejson-2.1.5-py2.6-linux-x86_64.egg/simplejson/__init__.py", line 111, in <module>

 File "/usr/lib/python2.6/site-packages/simplejson-2.1.5-py2.6-linux-x86_64.egg/simplejson/decoder.py", line 7, in <module>
 File "/usr/lib/python2.6/site-packages/simplejson-2.1.5-py2.6-linux-x86_64.egg/simplejson/scanner.py", line 10, in <module>
 File "/usr/lib/python2.6/site-packages/simplejson-2.1.5-py2.6-linux-x86_64.egg/simplejson/scanner.py", line 6, in _import_c_make_scanner
 File "/usr/lib/python2.6/site-packages/simplejson-2.1.5-py2.6-linux-x86_64.egg/simplejson/_speedups.py", line 7, in <module>
 File "/usr/lib/python2.6/site-packages/simplejson-2.1.5-py2.6-linux-x86_64.egg/simplejson/_speedups.py", line 4, in __bootstrap__
 File "/usr/lib/python2.6/site-packages/pkg_resources.py", line 841, in resource_filename
   self, resource_name
 File "/usr/lib/python2.6/site-packages/pkg_resources.py", line 1310, in get_resource_filename
   self._extract_resource(manager, self._eager_to_zip(name))
 File "/usr/lib/python2.6/site-packages/pkg_resources.py", line 1332, in _extract_resource
   self.egg_name, self._parts(zip_path)
 File "/usr/lib/python2.6/site-packages/pkg_resources.py", line 921, in get_cache_path
   self.extraction_error()
 File "/usr/lib/python2.6/site-packages/pkg_resources.py", line 887, in extraction_error
   raise err
pkg_resources.ExtractionError: Can't extract file(s) to egg cache

The following error occurred while trying to extract file(s) to the Python egg
cache:

 [Errno 13] Permission denied: '/home/interworx/.python-eggs'

The Python egg cache directory is currently set to:

 /home/interworx/.python-eggs

Perhaps your account does not have write access to this directory?  You can
change the cache directory by setting the PYTHON_EGG_CACHE environment
variable to point to an accessible directory.

I'm not sure if the "Module was already imported" error has to do with the "cannot extract PYTHON EGG" error.

In my WSGI I already have the following line os.environ['PYTHON_EGG_CACHE'] = rel('python-eggs') and I know for sure that works. Otherwise WSGI won't load my app. So I'm not sure what to do here.

Thanks!


When you get a message like "Perhaps your account does not have write access to this directory?" it's best to do a quick test. Try changing it to "/tmp" (which is writable by everyone) and see if things start working. If that fixes it, you can then identify a more appropriate directory and make sure that you (or the server) have write access to it.

Update: You are correct in choosing to tackle the earliest error message first. Here is a quick utility, Python Module Dump, that I wrote a few years ago for tracking down a mis-included module error. You might try inserting it at interesting points along your initialization code path and see if you can spot when the earlier import occurred.


There's a chance that your initial problem "Module was already imported" does in fact have to do with the permissions error you have going. Your best option would be to fix the permissions/ownership settings on the /home/interworx/.python-eggs directory (as stated by Peter Rowell above).

I came across this great little refresher on permissions today at the Google Code University. Wouldn't hurt to skim through this when you have some time: http://code.google.com/edu/tools101/linux/ownership_permissions.html

Just read the comments above here is my thoughts:

I think the problem is that the .wsgi file is not setting the environment variable in time. Can you please post your .wsgi file? Also, how are you grabbing the packages? Is it a script? Manually via pip?

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜