Comments (4)
So the difference in the above errors is probably because the virtualenv has setuptools 0.9.8, and the "real" environment has setuptools 1.3.2.
Upgrading to setuptools 1.4 gets further. This looks promising:
python setup.py bdist_wininst -p win32
It does print this warning:
Warning: Can't read registry to find the necessary compiler setting
Make sure that Python modules _winreg, win32api or win32con are installed.
removing 'build/bdist.macosx-10.9-intel/wininst' (and everything under it)
...but I think I can ignore that for a pure Python module with no C code to compile.
Next steps: bring the generated installer over to a Windows system, check to see if it really is a win32 exe, check that it installs and works for both 2.6 and 2.7 (for issue #3).
from expak.
The installer seems to be good, but it can't find Python 2.6 in the registry. Only 2.7.
2.7 has its registry entries under HKEY_CURRENT_USER, while 2.6 is under HKEY_LOCAL_MACHINE, so I imagine that difference is the issue.
This seems to be a limitation of the installer program that is bundled when specifying "-p win32", when the bdist is built either on OS X or on Win 7. I just tried the default platform win-amd64 on Win 7, and that generates an installer that can see both 2.6 and 2.7. I wouldn't be surprised if the same would be true for the OS X cross-compile. However, it's a 64-bit installer. Which is probably fine as a limitation -- who still runs 32-bit Windows?***** -- but it's kind of annoying when installing a pure Python module.
(Although the install does also create simple_expak.exe at some point. I don't yet know how that is done, but the 32-bit installer seems to create a 64-bit simple_expak.exe that works just fine.)
SO MUCH FUN. For minimal headaches/surprises the answer may be to generate both a 32-bit and 64-bit installer.
***** answer: probably a significant overlap with people who still mess around with Quake
from expak.
As the cherry on top, the OS X cross-compile can only do win32, not win-amd64. Choosing "-p win-amd64" results in:
error: /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/command/wininst-6.0-amd64.exe: No such file or directory
I think the code that generates that "6.0" is goofed up for non-Windows versions of Python though. It comes from distutils.msvccompiler.get_build_version, which looks for the "MSC v." substring in sys.version, which isn't present in OS X Python (because it was built with gcc). Since it doesn't find it, it assumes MSVC version 6 was used to build this Python, which it then assumes is relevant for the target system. This error may not matter at all for a pure Python module installer, and I could work around it by moving/renaming the wininst files in my Python installation. But it's kind of a worrisome error, like... what else is off-kilter in this process?
Edit: another workaround would be to override distutils.msvccompiler.get_build_version in setup.py.
from expak.
Handled by commit 705cc59.
from expak.
Related Issues (14)
- investigate continuous integration
- verify that for a pure module, one Windows installer can serve multiple Python versions HOT 1
- Python 3 support HOT 1
- more tests to finish out code coverage HOT 1
- don't delete output files from test runs
- read_header should differentiate between "not PAK file" and "less than 4 bytes read" HOT 1
- remove race in directory creation in nop_converter
- python -m support
- fix construction of long_description in sdist
- "officially" support PyPy
- describe pip install directly from git
- support Python 3.4 HOT 1
- start using twine for PyPI uploads
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from expak.