[Distutils] Having a Python package install itself under a different name
cool-rr at cool-rr.com
Fri May 28 21:49:10 CEST 2010
On Fri, May 28, 2010 at 9:14 PM, P.J. Eby <pje at telecommunity.com> wrote:
> At 08:00 PM 5/28/2010 +0200, cool-RR wrote:
>> On Fri, May 28, 2010 at 7:44 PM, P.J. Eby <<mailto:pje at telecommunity.com>
>> pje at telecommunity.com> wrote:
>> At 02:53 AM 5/28/2010 +0200, cool-RR wrote:
>> On Fri, May 28, 2010 at 2:36 AM, P.J. Eby <<mailto:pje at telecommunity.com
>> ><mailto:pje at telecommunity.com>pje at telecommunity.com> wrote:
>> However, as long as both versions alert the user when used on the wrong
>> Python version, they will quickly discover their mistake. ;-)
>> Yes, I thought about this too. You suggest doing that on the setup script,
>> the package itself, or both?
>> The package itself; doing it in the setup script is ridiculously hard.
>> (Not detecting the Python version, but detecting whether you're installing
>> both versions to the same location.)
>> I'm not sure we're on the same page here. My intention is that Python 2.x
>> users will use only `garlicsim`, and Python 3.x users will use only
> But both projects will contain a package named 'garlicsim' - so if they're
> installed to the same location, then either one will overwrite the other
> (distutils/pip install) or override the other (setuptools).
> In principle, they won't be installed to the same location, unless somebody
> has a directory that's used for both Python 2 packages and Python 3 packages
> -- and if they do that, they'll have other problems. (i.e., they shouldn't
> be doing it)
> Why would I want to detect anything beyond the Python version in the
>> setup script?
> Even though you detect the version in the setup script, it won't stop the
> problem of installing both versions to the same location. That's why the
> package itself needs to give a good error message if imported from the wrong
> Python version, to handle the case where somebody's sys.path is wrong (e.g.
> due to a PYTHONPATH that includes both Python 2 and 3 packages).
> Again, people are going to have other problems if they do that, unrelated
> to your package. Putting in the check is just a courtesy measure so they
> don't have to spend a lot of time figuring out what they did wrong.
Okay. Thanks for the tips, I'll put version checks in both the setup scripts
and the packages.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Distutils-SIG