How to update a file in python egg

2019-02-22 18:00发布

We are using trac. In our setup we have a problem that is solved in repository. So I got the fixed file commit_update.py from the repository and I need to place it into Trac-0.12-py2.6.egg.

As egg is just a ziped filed I just unziped it, changed the file and ziped again. After restarting trac, I've got a an error message:

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 20] Not a directory

The Python egg cache directory is currently set to: 

    /var/trac/plugin-cache

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 don't quite understand why I got this error, because I'm running trac instance under www-data and it is the owner of the plugin-cache.

Will appreciate any ideas.

标签: python trac egg
2条回答
男人必须洒脱
2楼-- · 2019-02-22 18:32

I just unzip the egg file using

sudo unzip django_tastypie-0.9.11-py2.7.egg

This created a new folder in same path called tastypie, then, I changed files into it, and after that, I removed the egg file and keep using only the new folder.

查看更多
ら.Afraid
3楼-- · 2019-02-22 18:59

Just build a new egg (with python setup.py bdist_egg), reinstall the egg and restart your trac instance.

查看更多
登录 后发表回答