mk-fg / pretty-yaml

PyYAML-based module to produce a bit more pretty and readable YAML-serialized data
Do What The F*ck You Want To Public License
135 stars 29 forks source link

Cannot install with Python 3.6 on Windows 10 #25

Closed ddmee closed 7 years ago

ddmee commented 7 years ago

Hi,

Using Pip, the pyaml fails to install on Windows 10 with Python 3.6. But if I use Python 3.5, the installation works fine.

> python -m pip install pyaml
Collecting pyaml
  Using cached pyaml-17.8.0-py2.py3-none-any.whl
Collecting PyYAML (from pyaml)
  Using cached PyYAML-3.12.tar.gz
Building wheels for collected packages: PyYAML
  Running setup.py bdist_wheel for PyYAML ... error
  Complete output from command C:\Users\code\venv36\Scripts\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\code\\AppData\\Local\\Temp\\pip-build-pq03dgna\\PyYAML\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d C:\Users\code\AppData\Local\Temp\tmp0t79bxfmpip-wheel- --python-tag cp36:
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build\lib.win-amd64-3.6
  creating build\lib.win-amd64-3.6\yaml
  copying lib3\yaml\composer.py -> build\lib.win-amd64-3.6\yaml
  copying lib3\yaml\constructor.py -> build\lib.win-amd64-3.6\yaml
  copying lib3\yaml\cyaml.py -> build\lib.win-amd64-3.6\yaml
  copying lib3\yaml\dumper.py -> build\lib.win-amd64-3.6\yaml
  copying lib3\yaml\emitter.py -> build\lib.win-amd64-3.6\yaml
  copying lib3\yaml\error.py -> build\lib.win-amd64-3.6\yaml
  copying lib3\yaml\events.py -> build\lib.win-amd64-3.6\yaml
  copying lib3\yaml\loader.py -> build\lib.win-amd64-3.6\yaml
  copying lib3\yaml\nodes.py -> build\lib.win-amd64-3.6\yaml
  copying lib3\yaml\parser.py -> build\lib.win-amd64-3.6\yaml
  copying lib3\yaml\reader.py -> build\lib.win-amd64-3.6\yaml
  copying lib3\yaml\representer.py -> build\lib.win-amd64-3.6\yaml
  copying lib3\yaml\resolver.py -> build\lib.win-amd64-3.6\yaml
  copying lib3\yaml\scanner.py -> build\lib.win-amd64-3.6\yaml
  copying lib3\yaml\serializer.py -> build\lib.win-amd64-3.6\yaml
  copying lib3\yaml\tokens.py -> build\lib.win-amd64-3.6\yaml
  copying lib3\yaml\__init__.py -> build\lib.win-amd64-3.6\yaml
  running build_ext
  creating build\temp.win-amd64-3.6
  creating build\temp.win-amd64-3.6\Release
  checking if libyaml is compilable
  error: [WinError 3] The system cannot find the path specified: 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\PlatformSDK\\lib'

  ----------------------------------------
  Failed building wheel for PyYAML
  Running setup.py clean for PyYAML
Failed to build PyYAML
Installing collected packages: PyYAML, pyaml
  Running setup.py install for PyYAML ... error
    Complete output from command C:\Users\\code\\venv36\Scripts\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\code\\AppData\\Local\\Temp\\pip-build-pq03dgna\\PyYAML\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record C:\Users\code\AppData\Local\Temp\pip-pezzmj2e-record\install-record.txt --single-version-externally-managed --compile --install-headers C:\Users\code\venv36\include\site\python3.6\PyYAML:
    running install
    running build
    running build_py
    creating build
    creating build\lib.win-amd64-3.6
    creating build\lib.win-amd64-3.6\yaml
    copying lib3\yaml\composer.py -> build\lib.win-amd64-3.6\yaml
    copying lib3\yaml\constructor.py -> build\lib.win-amd64-3.6\yaml
    copying lib3\yaml\cyaml.py -> build\lib.win-amd64-3.6\yaml
    copying lib3\yaml\dumper.py -> build\lib.win-amd64-3.6\yaml
    copying lib3\yaml\emitter.py -> build\lib.win-amd64-3.6\yaml
    copying lib3\yaml\error.py -> build\lib.win-amd64-3.6\yaml
    copying lib3\yaml\events.py -> build\lib.win-amd64-3.6\yaml
    copying lib3\yaml\loader.py -> build\lib.win-amd64-3.6\yaml
    copying lib3\yaml\nodes.py -> build\lib.win-amd64-3.6\yaml
    copying lib3\yaml\parser.py -> build\lib.win-amd64-3.6\yaml
    copying lib3\yaml\reader.py -> build\lib.win-amd64-3.6\yaml
    copying lib3\yaml\representer.py -> build\lib.win-amd64-3.6\yaml
    copying lib3\yaml\resolver.py -> build\lib.win-amd64-3.6\yaml
    copying lib3\yaml\scanner.py -> build\lib.win-amd64-3.6\yaml
    copying lib3\yaml\serializer.py -> build\lib.win-amd64-3.6\yaml
    copying lib3\yaml\tokens.py -> build\lib.win-amd64-3.6\yaml
    copying lib3\yaml\__init__.py -> build\lib.win-amd64-3.6\yaml
    running build_ext
    creating build\temp.win-amd64-3.6
    creating build\temp.win-amd64-3.6\Release
    checking if libyaml is compilable
    error: [WinError 3] The system cannot find the path specified: 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\PlatformSDK\\lib'

    ----------------------------------------
Command "C:\Users\code\venv36\Scripts\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\code\\AppData\\Local\\Temp\\pip-build-pq03dgna\\PyYAML\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record C:\Users\code\AppData\Local\Temp\pip-pezzmj2e-record\install-record.txt --single-version-externally-managed --compile --install-headers C:\Users\code\venv36\include\site\python3.6\PyYAML" failed with error code 1 in C:\Users\code\AppData\Local\Temp\pip-build-pq03dgna\PyYAML\
mk-fg commented 7 years ago

Hey,

Issue seem to be with building PyYAML, and maybe even libyaml (if it actually tries to do that at the end there), as suggested by "Building wheels for collected packages: PyYAML" and "Running setup.py install for PyYAML ... error" headers above error log.

I suspect it doesn't happen for you with similar py3.5 installation because PyYAML might have wheel binary package available for that version, which 3.5 would use instead of running setup.py and such, but doesn't have one for 3.6.

You might want to report it to PyYAML developers at http://pyyaml.org/ , if it's not reported there already. Don't think I can affect it here in any way.

Also, as a workaround, I'd try to create that path it complains about after "checking if libyaml is compilable" - could be that it just tries to lookup libyaml.dll there. Can also be some kind of virtualenv error, as it's kinda weird that it checks system-wide path with that.

ddmee commented 7 years ago

Ah thanks. Sorry, I thought this was the PYaml repository for some reason. Opps!