Changes between Version 4 and Version 5 of DevGuide
- Timestamp:
- Apr 12, 2014, 10:13:02 PM (10 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
DevGuide
v4 v5 44 44 == Assert Minimum Trac Version Requirement 45 45 46 The most common method employed to specify a minimum required Trac version is to add an installation requirement in `setup.py`. For example: `install_require d= ['Trac >= 0.12']`. This causes numerous problems, some of which are documented in #9800, and is not recommended. One of the most negative consequences is that setuptools may download and install a newer version of Trac. The result can be an unintended upgrade of a user's installation (#10607).46 The most common method employed to specify a minimum required Trac version is to add an installation requirement in `setup.py`. For example: `install_requires = ['Trac >= 0.12']`. This causes numerous problems, some of which are documented in #9800, and is not recommended. One of the most negative consequences is that setuptools may download and install a newer version of Trac. The result can be an unintended upgrade of a user's installation (#10607). 47 47 48 A better approach place the following in the package `__init__.py`, modifying `min_trac_version` as appropriate for your plugin:48 A better approach is to place the following in the package `__init__.py`, modifying `min_trac_version` as appropriate for your plugin: 49 49 {{{#!python 50 50 import pkg_resources … … 53 53 }}} 54 54 55 The check if performed at runtime, so the egg can be built in an environment that does not satisfy the installation requirements. One use-case is building the egg on a development computer and uploading it through the plugin admin page. An error such as the following will be seen in the logs if the plugin fails to load due to a failed requirement:55 The check if performed at runtime, so the egg can be built in an environment that does not satisfy the installation requirements. One use-case for this behavior is building the egg on a development computer and uploading it through the plugin admin page. An error such as the following will be seen in the logs if the plugin fails to load due to a failed requirement: 56 56 {{{ 57 57 02:39:22 PM Trac[loader] DEBUG: Loading changelog.ChangeLogMacro from /home/user/Workspace/clm/lib/python2.7/site-packages/ChangeLogMacro-0.2-py2.7.egg