frerich / clcache

A compiler cache for MSVC, much like ccache for gcc
Other
324 stars 83 forks source link

setup: remove pypiwin32 dependency #285

Closed ghost closed 7 years ago

ghost commented 7 years ago

pypiwin32 is quite a large dependency that isn't needed.

frerich commented 7 years ago

Hm, looking at the Python 3.3 build log, it sounds like pypiwin32 is needed for the pywintypes module -- but only for Python 3.3?

rasjani commented 7 years ago

In same cases, pywintypes*.dll might be imported into system path and results look something like this: works somewhere (dependency is there but its installed by someone else) and doesnt work somewhere else ..

ghost commented 7 years ago

This is a problem with pyinstaller. The setup.py is not the correct place to put it.

frerich commented 7 years ago

Ah, I see. However, the PyInstaller installation instructions say

For Windows, PyWin32 or the more recent pypiwin32, is a prerequisite. The latter is installed automatically when you install PyInstaller using pip or easy_install.

So I take your patch (which makes the build work) suggests that the installation instructions are wrong? Or is there something I'm missing? My reading is that the patch to appveyor.yml should not be necessary.

ghost commented 7 years ago

This is a bug in pyinstaller. I have worked extensively on that project.

ghost commented 7 years ago

Honestly though, I have moved on from the PyInstaller project because I came to realize that the entire approach was wrong. ​PyInstaller is an awesome and intricate beast of a project that simulates dynamic import machinery and covers almost all of the cases that most users will see. It's also a massive waste of time: it has massive exposure to implementation details that constantly break, the test suite takes literally hours, and it solves a problem (packaging) that is already solved with pip. You're almost always better off running the Python installer (which doesn't require administrative privileges) and then running "pip install" either from pypi or prepackaged wheels.

frerich commented 7 years ago

I see. Well, I guess it doesn't hurt to mention this dependency here, so I'll merge this patch. Thanks a lot for cleaning this up! 👍