Re: [Distutils] Setuptools 0.7.2 and Distribute 0.7 (compatibility wrapper) on PyPI

2013-06-19 Thread Donald Stufft

On Jun 19, 2013, at 4:50 PM, "Jason R. Coombs"  wrote:

> Donald,
> What’s the next step to support this bootstrap script? Do we 
> need a ticket for PyPI to support this mechanism? How will PyPI resolve the 
> ‘latest’ virtual link when there are multiple non-hidden versions (as with 
> setuptools 0.7.4 and 0.6c11), or does the uploader make that determination?
>  
> From: Donald Stufft [mailto:don...@stufft.io] 
> Sent: Monday, 10 June, 2013 14:15
> To: Jason R. Coombs
> Cc: Tres Seaver; Distutils-Sig@Python.Org
> Subject: Re: [Distutils] Setuptools 0.7.2 and Distribute 0.7 (compatibility 
> wrapper) on PyPI
>  
>  
> On Jun 10, 2013, at 2:55 PM, "Jason R. Coombs"  wrote:
> 
> 
> There seems to be a dominant opinion that the file should be on PyPI, and I 
> don't disagree.
> 
> One issue is that the file must be mutable. It necessarily contains a 
> reference to the preferred version to be downloaded. That version changes 
> over time. It's typically incremented, but sometimes decremented.
> 
> It's possible the script could be updated to otherwise discover the most 
> appropriate version. As it's currently implemented however, the file must be 
> expected to change over time.
> 
> Because the file must change during each release, the system needs to be able 
> to accept an updated version. This is why the Bitbucket Link was referenced, 
> because it can include that version information.
> 
> I'm open to suggestions on how we can create a perma link to a file that 
> changes over time on PyPI.
>  
> Put a version in the filename/path, and have a "latest" tag that just 301 
> redirects to whatever is latest.
>  
> /bootstrap/setuptools/latest/ez_setup.py -> 301 Redirect to
> /bootstrap/setuptools/0.7.2/ez_setup.py
> 
> 
> 
> For now, the most authoritative place I could think of for that file was the 
> bit bucket downloads. Let's identify a mechanism to do the same on PyPI and 
> get that into set of tools for the next release.
> 
> Sent from my comm
> 
> -
> Donald Stufft
> PGP: 0x6E3CBCE93372DCFA // 7C6B 7C5D 5E2B 6356 A926 F04F 6E3C BCE9 3372 DCFA

I think we're going to make a small one off web app for uploading it. I'll see 
if I can whip something up.

If it supports:
* Uploading files
* Versioned Urls
* "Latest" url which redirects to the latest version

Will that be enough for your uses?

-
Donald Stufft
PGP: 0x6E3CBCE93372DCFA // 7C6B 7C5D 5E2B 6356 A926 F04F 6E3C BCE9 3372 DCFA



signature.asc
Description: Message signed with OpenPGP using GPGMail
___
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig


Re: [Distutils] Setuptools 0.7.2 and Distribute 0.7 (compatibility wrapper) on PyPI

2013-06-19 Thread PJ Eby
On Wed, Jun 19, 2013 at 4:50 PM, Jason R. Coombs  wrote:
>
> What’s the next step to support this bootstrap script?

Can you just upload it with the docs?
___
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig


Re: [Distutils] Buildout 2.2.0b1 is available fort testing

2013-06-19 Thread Ralf Schmitt
Jim Fulton  writes:

>
> We'd like to release 2.2 final soon, so your testing is really
> helpful.

I tested this version and didn't run into any problems, though I didn't
test the new stuff.

-- 
Cheers
Ralf
___
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig


Re: [Distutils] Setuptools 0.7.2 and Distribute 0.7 (compatibility wrapper) on PyPI

2013-06-19 Thread Jason R. Coombs
Donald,

What's the next step to support this bootstrap script? Do we
need a ticket for PyPI to support this mechanism? How will PyPI resolve the
'latest' virtual link when there are multiple non-hidden versions (as with
setuptools 0.7.4 and 0.6c11), or does the uploader make that determination?

 

From: Donald Stufft [mailto:don...@stufft.io] 
Sent: Monday, 10 June, 2013 14:15
To: Jason R. Coombs
Cc: Tres Seaver; Distutils-Sig@Python.Org
Subject: Re: [Distutils] Setuptools 0.7.2 and Distribute 0.7 (compatibility
wrapper) on PyPI

 

 

On Jun 10, 2013, at 2:55 PM, "Jason R. Coombs" mailto:jar...@jaraco.com> > wrote:





There seems to be a dominant opinion that the file should be on PyPI, and I
don't disagree.

One issue is that the file must be mutable. It necessarily contains a
reference to the preferred version to be downloaded. That version changes
over time. It's typically incremented, but sometimes decremented.

It's possible the script could be updated to otherwise discover the most
appropriate version. As it's currently implemented however, the file must be
expected to change over time.

Because the file must change during each release, the system needs to be
able to accept an updated version. This is why the Bitbucket Link was
referenced, because it can include that version information.

I'm open to suggestions on how we can create a perma link to a file that
changes over time on PyPI.

 

Put a version in the filename/path, and have a "latest" tag that just 301
redirects to whatever is latest.

 

/bootstrap/setuptools/latest/ez_setup.py -> 301 Redirect to

/bootstrap/setuptools/0.7.2/ez_setup.py






For now, the most authoritative place I could think of for that file was the
bit bucket downloads. Let's identify a mechanism to do the same on PyPI and
get that into set of tools for the next release.

Sent from my comm


-

Donald Stufft

PGP: 0x6E3CBCE93372DCFA // 7C6B 7C5D 5E2B 6356 A926 F04F 6E3C BCE9 3372 DCFA

 



smime.p7s
Description: S/MIME cryptographic signature
___
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig


Re: [Distutils] Binary installer on Windows can't install extension

2013-06-19 Thread Steve Dower
> > I have no idea why the Windows linker attempts to load a x86 DLL into
> > a x64 process. The manifest included with OpenVPN clearly shows that
> > the DLL is for a different platform, even though it uses the same
> > version as the one listed in the python.exe manifest.
>
> [snip]
>
> When Dependency Walker showed a reference from mxDateTime.pyd to
> the
> 32-bit version of MSVCR90.DLL, it always also showed a reference from
> PYTHON27.DLL to the 64-bit version of MSVCR90.DLL.


My suspicion is that this is due to OpenVPN adding itself to the PATH variable.

The default Python install will put PYTHON27.DLL into System32 (for a 64-bit 
install), and so it will try and resolve dependencies in the same directory 
first. This is probably why it finds the correct MSVCR90.DLL (it may also be 
that the manifest is correct).

Since mxDateTime.pyd is not in System32, it will go through the usual 
resolution process. System32 is supposed to be checked first, so I'm not sure 
why the correct version is being bypassed, but that may be because of the lack 
of manifest.

I'd guess that it works for most people because by the time Windows reaches the 
end of its search, the correct DLL is the only/best/most recent option found. 
That OpenVPN version provides an alternative, and Windows is choosing it and 
then failing to load because of the platform mismatch.

There's not much I can offer by way of solution. Adding a manifest to the pyd 
'should' be the 'correct' solution, but I can't guarantee that it won't cause 
conflicts elsewhere. Adding a copy of MSVCR90.DLL to the pyd directory would 
also work, but this is probably riskier when it comes to version mismatches.

 As I understand, OpenVPN has corrected their side of things already, so this 
may just be an issue to be aware of for when people hit it in the future.

Cheers,
Steve

___
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig


Re: [Distutils] Binary installer on Windows can't install extension

2013-06-19 Thread Malte Forkel
Am 19.06.2013 13:57, schrieb M.-A. Lemburg:
> 
> The unresolved reference to MSVCR90.DLL is shown for all distutils
> compiled extensions, so this is most likely the result of distutils
> removing the manifest from compiled C extensions to force the linker
> to use the Python DLL's CRT libs - this in return avoids problem with
> having to place the CRT manifests into each extension directory.
> 
After my initial problems, this now to works for me. I still don't
understand what went wrong initially, though.

> I have no idea why the Windows linker attempts to load a x86 DLL into
> a x64 process. The manifest included with OpenVPN clearly shows that
> the DLL is for a different platform, even though it uses the same
> version as the one listed in the python.exe manifest.
> 
I can a confirm this for the manifest included with OpenVPN 2.2.1 which
I had installed before:



When Dependency Walker showed a reference from mxDateTime.pyd to the
32-bit version of MSVCR90.DLL, it always also showed a reference from
PYTHON27.DLL to the 64-bit version of MSVCR90.DLL.


___
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig


Re: [Distutils] Binary installer on Windows can't install extension

2013-06-19 Thread M.-A. Lemburg
On 19.06.2013 12:51, M.-A. Lemburg wrote:
> On 19.06.2013 10:01, Malte Forkel wrote:
>> Am 19.06.2013 00:19, schrieb M.-A. Lemburg:
>>>
>>> Are you using our prebuilt or egg distribution of eGenix mx Base,
>>> or compiling it from source ?
>>>
>>
>> I'm using the prebuilt distribution
>> (egenix-mx-base-3.2.6.win-amd64-py2.7.msi).
>>
>> Thanks to the kind advice of Steve Dower, I have since updated OpenVPN,
>> the application had installed the 32-bit version of MSVCR90.DLL in its
>> own directory, to a newer 64-bit version which does not install local CRTs.
>>
>> According to Dependency Walker, it had been OpenVPN's copy of
>> MSVCR90.DLL that mxDateTime.pyd referenced, probably due to the
>> OpenVPN's entry in the user's search path.
> 
> Interesting. I just tried that on my system and indeed, see the
> reference to OpenVPN as well. The same happens with all other .pyd
> files in the Python installation.
> 
>> Now, according to Dependency
>> Walker, mxDateTime.pyd refeference to MSVCR90.DLL remains unresolved.
>> But there are no problems when I run the install script or import
>> mx.DateTime myself.
> 
> We'll investigate that some more. It may have something to
> do with the way distutils handles manifests for Python extensions
> at compile/link time. The extensions should get all the MSVCR90.DLL
> symbols from the DLL loaded into the PYTHON27.DLL process.

The unresolved reference to MSVCR90.DLL is shown for all distutils
compiled extensions, so this is most likely the result of distutils
removing the manifest from compiled C extensions to force the linker
to use the Python DLL's CRT libs - this in return avoids problem with
having to place the CRT manifests into each extension directory.

I have no idea why the Windows linker attempts to load a x86 DLL into
a x64 process. The manifest included with OpenVPN clearly shows that
the DLL is for a different platform, even though it uses the same
version as the one listed in the python.exe manifest.

-- 
Marc-Andre Lemburg
Director
Python Software Foundation
http://www.python.org/psf/
___
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig


Re: [Distutils] Binary installer on Windows can't install extension

2013-06-19 Thread M.-A. Lemburg
On 19.06.2013 10:01, Malte Forkel wrote:
> Am 19.06.2013 00:19, schrieb M.-A. Lemburg:
>>
>> Are you using our prebuilt or egg distribution of eGenix mx Base,
>> or compiling it from source ?
>>
> 
> I'm using the prebuilt distribution
> (egenix-mx-base-3.2.6.win-amd64-py2.7.msi).
> 
> Thanks to the kind advice of Steve Dower, I have since updated OpenVPN,
> the application had installed the 32-bit version of MSVCR90.DLL in its
> own directory, to a newer 64-bit version which does not install local CRTs.
> 
> According to Dependency Walker, it had been OpenVPN's copy of
> MSVCR90.DLL that mxDateTime.pyd referenced, probably due to the
> OpenVPN's entry in the user's search path.

Interesting. I just tried that on my system and indeed, see the
reference to OpenVPN as well. The same happens with all other .pyd
files in the Python installation.

> Now, according to Dependency
> Walker, mxDateTime.pyd refeference to MSVCR90.DLL remains unresolved.
> But there are no problems when I run the install script or import
> mx.DateTime myself.

We'll investigate that some more. It may have something to
do with the way distutils handles manifests for Python extensions
at compile/link time. The extensions should get all the MSVCR90.DLL
symbols from the DLL loaded into the PYTHON27.DLL process.

Thanks,
-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Services directly from the Source  (#1, Jun 19 2013)
>>> Python Projects, Consulting and Support ...   http://www.egenix.com/
>>> mxODBC.Zope/Plone.Database.Adapter ...   http://zope.egenix.com/
>>> mxODBC, mxDateTime, mxTextTools ...http://python.egenix.com/

2013-06-18: Released mxODBC Django DE 1.2.0 ...   http://egenix.com/go47
2013-07-01: EuroPython 2013, Florence, Italy ...   12 days to go
2013-07-16: Python Meeting Duesseldorf ... 27 days to go

   eGenix.com Software, Skills and Services GmbH  Pastor-Loeh-Str.48
D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
   Registered at Amtsgericht Duesseldorf: HRB 46611
   http://www.egenix.com/company/contact/
___
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig


Re: [Distutils] Binary installer on Windows can't install extension

2013-06-19 Thread Malte Forkel
Am 19.06.2013 00:19, schrieb M.-A. Lemburg:
> 
> Are you using our prebuilt or egg distribution of eGenix mx Base,
> or compiling it from source ?
> 

I'm using the prebuilt distribution
(egenix-mx-base-3.2.6.win-amd64-py2.7.msi).

Thanks to the kind advice of Steve Dower, I have since updated OpenVPN,
the application had installed the 32-bit version of MSVCR90.DLL in its
own directory, to a newer 64-bit version which does not install local CRTs.

According to Dependency Walker, it had been OpenVPN's copy of
MSVCR90.DLL that mxDateTime.pyd referenced, probably due to the
OpenVPN's entry in the user's search path. Now, according to Dependency
Walker, mxDateTime.pyd refeference to MSVCR90.DLL remains unresolved.
But there are no problems when I run the install script or import
mx.DateTime myself.


___
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig