[issue31932] setup.py cannot find vcversall.bat on MSWin 8.1 if installed in user AppData

2017-11-04 Thread Hugh Fisher

Hugh Fisher <hugo.fis...@gmail.com> added the comment:

The registry key is not totally reliable for finding the compiler.

What I did: my system is Windows 8.1 64 bit with Python 2.7 64 bit installed. 
I'd been testing a setup.py on Linux, time to try on MSWin. So I downloaded 
VCForPython27.msi as recommended by the Python docs, ran it, tried python 
setup.py build_ext. Failed because could not find VCVARSALL.BAT. Standard MSWin 
troubleshooting first step: restart. Still no.

Search turned up a freshly installed dir under AppData. After searching through 
distutils code, stepping through it, and poking around with RegEdit it turned 
out that while my system has various registry keys for Visual Studio versions 
from 7.1 through 12.0, even keys for 9.0, but not the particular one that 
find_vcvarsall wants.

Why not? How can I know? I added two lines of code to msvc9compiler.py and my 
extension now compiled.

To me, only the file system can be a totally reliable guide as to whether a 
particular path exists. I agree that it's not practical to wildly guess, or to 
search everywhere. But this is for Python 2.7, where the configuration has been 
frozen for all time. There's only a couple of places these files could be.

The additional code I've proposed will make Python continue to work even if the 
registry is clobbered. It will also make Python continue to work if the user 
copies the files from another system instead of running the installer. I think 
this is worthwhile, so ask that you reopen this issue.

--

___
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue31932>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue31932] setup.py cannot find vcversall.bat on MSWin 8.1 if installed in user AppData

2017-11-03 Thread Hugh Fisher

Change by Hugh Fisher <hugo.fis...@gmail.com>:


--
keywords: +patch
pull_requests: +4227
stage:  -> patch review

___
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue31932>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue31932] setup.py cannot find vcversall.bat on MSWin 8.1 if installed in user AppData

2017-11-03 Thread Hugh Fisher

New submission from Hugh Fisher <hugo.fis...@gmail.com>:

This was raised in issue #23246 but apparently not addressed at the time.

The Visual C for Python 2.7 tools on my MS Windows 8.1 system installed 
themselves under the invisible AppData directory because I did not do so as 
Administrator. Running setup.py to build a (2.7) native extension then fails 
because it can't find VCVERSALL.BAT.

Fix is a couple of extra lines in find_vcvarsall in msvc9compiler.py to search 
under AppData if it can't be found in the system location. I will submit a pull 
request.

--
components: Distutils
messages: 305470
nosy: dstufft, eric.araujo, laranzu
priority: normal
severity: normal
status: open
title: setup.py cannot find vcversall.bat on MSWin 8.1 if installed in user 
AppData
type: behavior
versions: Python 2.7

___
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue31932>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com