stlehmann / pyads

Python wrapper for TwinCAT ADS
MIT License
254 stars 94 forks source link

Installing pyads via pip on Windows raises ERROR: Failed building wheel for pyads #280

Closed stlehmann closed 2 years ago

stlehmann commented 2 years ago

Installing pyads via pip on Windows raises ERROR: Failed building wheel for pyads. The install works but it would be nicer not to have an error message on install. At the moment I don't know where this originates from. Any ideas are welcome.

PS C:\> pip install pyads

Collecting pyads
  Using cached pyads-3.3.8.tar.gz (319 kB)
Building wheels for collected packages: pyads
  Building wheel for pyads (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: 'C:\Users\lehmann.KUZLEIPZIG\Miniconda3\envs\pyads\python.exe' -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\lehmann.KUZLEIPZIG\\AppData\\Local\\Temp\\pip-install-9gi4yg29\\pyads_6fb7c22a741a47489fdda62e8c915998\\setup.py'"'"'; __file__='"'"'C:\\Users\\lehmann.KUZLEI
PZIG\\AppData\\Local\\Temp\\pip-install-9gi4yg29\\pyads_6fb7c22a741a47489fdda62e8c915998\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.clos
e();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d 'C:\Users\lehmann.KUZLEIPZIG\AppData\Local\Temp\pip-wheel-_flkhpmk'
       cwd: C:\Users\lehmann.KUZLEIPZIG\AppData\Local\Temp\pip-install-9gi4yg29\pyads_6fb7c22a741a47489fdda62e8c915998\
  Complete output (129 lines):
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build\lib
  creating build\lib\pyads
  copying pyads\ads.py -> build\lib\pyads
  copying pyads\constants.py -> build\lib\pyads
  copying pyads\errorcodes.py -> build\lib\pyads
  copying pyads\filetimes.py -> build\lib\pyads
  copying pyads\pyads_ex.py -> build\lib\pyads
  copying pyads\structs.py -> build\lib\pyads
  copying pyads\symbol.py -> build\lib\pyads
  copying pyads\utils.py -> build\lib\pyads
  copying pyads\__init__.py -> build\lib\pyads
  creating build\lib\pyads\testserver
  copying pyads\testserver\advanced_handler.py -> build\lib\pyads\testserver
  copying pyads\testserver\basic_handler.py -> build\lib\pyads\testserver
  copying pyads\testserver\handler.py -> build\lib\pyads\testserver
  copying pyads\testserver\testserver.py -> build\lib\pyads\testserver
  copying pyads\testserver\__init__.py -> build\lib\pyads\testserver
  copying pyads\testserver\__main__.py -> build\lib\pyads\testserver
  installing to build\bdist.win-amd64\wheel
  running install
  running install_lib
  creating build\bdist.win-amd64
  creating build\bdist.win-amd64\wheel
  creating build\bdist.win-amd64\wheel\pyads
  copying build\lib\pyads\ads.py -> build\bdist.win-amd64\wheel\.\pyads
  copying build\lib\pyads\constants.py -> build\bdist.win-amd64\wheel\.\pyads
  copying build\lib\pyads\errorcodes.py -> build\bdist.win-amd64\wheel\.\pyads
  copying build\lib\pyads\filetimes.py -> build\bdist.win-amd64\wheel\.\pyads
  copying build\lib\pyads\pyads_ex.py -> build\bdist.win-amd64\wheel\.\pyads
  copying build\lib\pyads\structs.py -> build\bdist.win-amd64\wheel\.\pyads
  copying build\lib\pyads\symbol.py -> build\bdist.win-amd64\wheel\.\pyads
  creating build\bdist.win-amd64\wheel\pyads\testserver
  copying build\lib\pyads\testserver\advanced_handler.py -> build\bdist.win-amd64\wheel\.\pyads\testserver
  copying build\lib\pyads\testserver\basic_handler.py -> build\bdist.win-amd64\wheel\.\pyads\testserver
  copying build\lib\pyads\testserver\handler.py -> build\bdist.win-amd64\wheel\.\pyads\testserver
  copying build\lib\pyads\testserver\testserver.py -> build\bdist.win-amd64\wheel\.\pyads\testserver
  copying build\lib\pyads\testserver\__init__.py -> build\bdist.win-amd64\wheel\.\pyads\testserver
  copying build\lib\pyads\testserver\__main__.py -> build\bdist.win-amd64\wheel\.\pyads\testserver
  copying build\lib\pyads\utils.py -> build\bdist.win-amd64\wheel\.\pyads
  copying build\lib\pyads\__init__.py -> build\bdist.win-amd64\wheel\.\pyads
  running install_data
  creating build\bdist.win-amd64\wheel\pyads-3.3.8.data
  creating build\bdist.win-amd64\wheel\pyads-3.3.8.data\data
  creating build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib
  copying adslib\.git -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib
  copying adslib\.gitignore -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib
  copying adslib\.gitlab-ci.yml -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib
  copying adslib\AdsLib.sln -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib
  copying adslib\azure-pipelines.yml -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib
  copying adslib\LICENSE -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib
  copying adslib\Makefile -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib
  copying adslib\README -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib
  copying adslib\README.md -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib
  creating build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\.ci
  copying adslib\.ci\do_build.bat -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\.ci
  copying adslib\.ci\do_build.sh -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\.ci
  creating build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\AdsLib
  copying adslib\AdsLib\AdsDef.cpp -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\AdsLib
  copying adslib\AdsLib\AdsDef.h -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\AdsLib
  copying adslib\AdsLib\AdsDevice.cpp -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\AdsLib
  copying adslib\AdsLib\AdsDevice.h -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\AdsLib
  copying adslib\AdsLib\AdsException.h -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\AdsLib
  copying adslib\AdsLib\AdsLib.cpp -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\AdsLib
  copying adslib\AdsLib\AdsLib.h -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\AdsLib
  copying adslib\AdsLib\AdsLib.vcxproj -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\AdsLib
  copying adslib\AdsLib\AdsLib.vcxproj.filters -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\AdsLib
  copying adslib\AdsLib\AdsNotification.cpp -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\AdsLib
  copying adslib\AdsLib\AdsNotification.h -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\AdsLib
  copying adslib\AdsLib\AdsNotificationOOI.h -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\AdsLib
  copying adslib\AdsLib\AdsVariable.h -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\AdsLib
  copying adslib\AdsLib\AmsConnection.cpp -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\AdsLib
  copying adslib\AdsLib\AmsConnection.h -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\AdsLib
  copying adslib\AdsLib\AmsHeader.h -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\AdsLib
  copying adslib\AdsLib\AmsPort.cpp -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\AdsLib
  copying adslib\AdsLib\AmsPort.h -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\AdsLib
  copying adslib\AdsLib\AmsRouter.cpp -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\AdsLib
  copying adslib\AdsLib\AmsRouter.h -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\AdsLib
  copying adslib\AdsLib\Frame.cpp -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\AdsLib
  copying adslib\AdsLib\Frame.h -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\AdsLib
  copying adslib\AdsLib\Log.cpp -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\AdsLib
  copying adslib\AdsLib\Log.h -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\AdsLib
  copying adslib\AdsLib\NotificationDispatcher.cpp -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\AdsLib
  copying adslib\AdsLib\NotificationDispatcher.h -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\AdsLib
  copying adslib\AdsLib\RingBuffer.h -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\AdsLib
  copying adslib\AdsLib\Router.h -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\AdsLib
  copying adslib\AdsLib\Semaphore.h -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\AdsLib
  copying adslib\AdsLib\Sockets.cpp -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\AdsLib
  copying adslib\AdsLib\Sockets.h -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\AdsLib
  copying adslib\AdsLib\wrap_endian.h -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\AdsLib
  copying adslib\AdsLib\wrap_socket.h -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\AdsLib
  creating build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\AdsLibOOITest
  copying adslib\AdsLibOOITest\AdsLibOOITest.vcxproj -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\AdsLibOOITest
  copying adslib\AdsLibOOITest\AdsLibOOITest.vcxproj.filters -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\AdsLibOOITest
  copying adslib\AdsLibOOITest\main.cpp -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\AdsLibOOITest
  creating build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\AdsLibTest
  copying adslib\AdsLibTest\AdsLibTest.vcxproj -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\AdsLibTest
  copying adslib\AdsLibTest\AdsLibTest.vcxproj.filters -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\AdsLibTest
  copying adslib\AdsLibTest\main.cpp -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\AdsLibTest
  creating build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\AdsLibTestRef
  copying adslib\AdsLibTestRef\AdsLibTestRef.vcxproj -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\AdsLibTestRef
  copying adslib\AdsLibTestRef\AdsLibTestRef.vcxproj.filters -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\AdsLibTestRef
  copying adslib\AdsLibTestRef\main.cpp -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\AdsLibTestRef
  creating build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\docs
  copying adslib\docs\Doxyfile -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\docs
  copying adslib\docs\mainpage.dox -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\docs
  creating build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\example
  copying adslib\example\example.cpp -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\example
  copying adslib\example\example.vcxproj -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\example
  copying adslib\example\Makefile -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\example
  creating build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\PLC-TestProject
  copying adslib\PLC-TestProject\NotificationTest.sln -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\PLC-TestProject
  copying adslib\PLC-TestProject\NotificationTest.tsproj -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\PLC-TestProject
  creating build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\PLC-TestProject\Untitled1
  copying adslib\PLC-TestProject\Untitled1\ExternalTypes.tmc -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\PLC-TestProject\Untitled1
  copying adslib\PLC-TestProject\Untitled1\PlcTask.TcTTO -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\PLC-TestProject\Untitled1
  copying adslib\PLC-TestProject\Untitled1\Untitled1.plcproj -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\PLC-TestProject\Untitled1
  copying adslib\PLC-TestProject\Untitled1\Untitled1.tpy -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\PLC-TestProject\Untitled1
  creating build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\PLC-TestProject\Untitled1\POUs
  copying adslib\PLC-TestProject\Untitled1\POUs\MAIN.TcPOU -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\PLC-TestProject\Untitled1\POUs
  creating build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\PLC-TestProject\Untitled1\_Libraries
  creating build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\PLC-TestProject\Untitled1\_Libraries\beckhoff automation gmbh
  creating build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\PLC-TestProject\Untitled1\_Libraries\beckhoff automation gmbh\tc2_standard
  creating build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\PLC-TestProject\Untitled1\_Libraries\beckhoff automation gmbh\tc2_standard\3.3.0.0
  copying adslib\PLC-TestProject\Untitled1\_Libraries\beckhoff automation gmbh\tc2_standard\3.3.0.0\tc2_standard.compiled-library -> build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\PLC-TestProject\Untitled1\_Libraries\beckhoff automation gmbh\tc2_standard\3.3.0.0
  error: could not create 'build\bdist.win-amd64\wheel\pyads-3.3.8.data\data\adslib\PLC-TestProject\Untitled1\_Libraries\beckhoff automation gmbh\tc2_standard\3.3.0.0\tc2_standard.compiled-library': No such file or directory
  ----------------------------------------
  ERROR: Failed building wheel for pyads
  Running setup.py clean for pyads
Failed to build pyads
Installing collected packages: pyads
    Running setup.py install for pyads ... done
  DEPRECATION: pyads was installed using the legacy 'setup.py install' method, because a wheel could not be built for it. A possible replacement is to fix the wheel build issue reported above. You can find discussion regarding this at https://github.com/pypa/pip/issues/8368.
Successfully installed pyads-3.3.8
kryskool commented 2 years ago

Hi @stlehmann

Sometime i see this problem with folder containt space

Do pyads need to embedded the PLC-TestProject from adslib ? maybe we can remove it

Regards,

stlehmann commented 2 years ago

Thanks for your thoughts. Actually we didn't ever use testproject so removing it would be a good option.

stlehmann commented 2 years ago

fixed by #282