Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can't install with pip (on windows, in blender) #667

Closed
tin2tin opened this issue Mar 22, 2020 · 38 comments · Fixed by #1015
Closed

Can't install with pip (on windows, in blender) #667

tin2tin opened this issue Mar 22, 2020 · 38 comments · Fixed by #1015
Assignees
Labels
build issues building OTIO cmake issues with the cmake scripts wheels

Comments

@tin2tin
Copy link

tin2tin commented Mar 22, 2020

This is the error report(cmake is already installed):

C:\Users\user\Documents\build_windows_x64_vc16_Release\bin\Release\2.83\python\bin>python -m pip install opentimelineio
Collecting opentimelineio
  Using cached OpenTimelineIO-0.12.0.tar.gz (2.0 MB)
Requirement already satisfied: pyaaf2==1.2.0 in c:\users\user\documents\build_windows_x64_vc16_release\bin\release\2.83\python\lib\site-packages (from opentimelineio) (1.2.0)
Installing collected packages: opentimelineio
    Running setup.py install for opentimelineio ... error
    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\user\Documents\build_windows_x64_vc16_Release\bin\Release\2.83\python\bin\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\user\\AppData\\Local\\Temp\\pip-install-w6q_74kv\\opentimelineio\\setup.py'"'"'; __file__='"'"'C:\\Users\\user\\AppData\\Local\\Temp\\pip-install-w6q_74kv\\opentimelineio\\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\user\AppData\Local\Temp\pip-record-qe4za2pc\install-record.txt' --single-version-externally-managed --compile --install-headers 'C:\Users\user\Documents\build_windows_x64_vc16_Release\bin\Release\2.83\python\Include\opentimelineio'
         cwd: C:\Users\user\AppData\Local\Temp\pip-install-w6q_74kv\opentimelineio\
    Complete output (184 lines):
    running install
    running build
    running build_py
    creating build
    creating build\lib.win-amd64-3.7
    creating build\lib.win-amd64-3.7\opentimelineio
    copying src\py-opentimelineio\opentimelineio\exceptions.py -> build\lib.win-amd64-3.7\opentimelineio
    copying src\py-opentimelineio\opentimelineio\hooks.py -> build\lib.win-amd64-3.7\opentimelineio
    copying src\py-opentimelineio\opentimelineio\media_linker.py -> build\lib.win-amd64-3.7\opentimelineio
    copying src\py-opentimelineio\opentimelineio\opentime.py -> build\lib.win-amd64-3.7\opentimelineio
    copying src\py-opentimelineio\opentimelineio\test_utils.py -> build\lib.win-amd64-3.7\opentimelineio
    copying src\py-opentimelineio\opentimelineio\__init__.py -> build\lib.win-amd64-3.7\opentimelineio
    creating build\lib.win-amd64-3.7\opentimelineio\adapters
    copying src\py-opentimelineio\opentimelineio\adapters\adapter.py -> build\lib.win-amd64-3.7\opentimelineio\adapters
    copying src\py-opentimelineio\opentimelineio\adapters\cmx_3600.py -> build\lib.win-amd64-3.7\opentimelineio\adapters
    copying src\py-opentimelineio\opentimelineio\adapters\fcp_xml.py -> build\lib.win-amd64-3.7\opentimelineio\adapters
    copying src\py-opentimelineio\opentimelineio\adapters\otio_json.py -> build\lib.win-amd64-3.7\opentimelineio\adapters
    copying src\py-opentimelineio\opentimelineio\adapters\__init__.py -> build\lib.win-amd64-3.7\opentimelineio\adapters
    creating build\lib.win-amd64-3.7\opentimelineio\algorithms
    copying src\py-opentimelineio\opentimelineio\algorithms\filter.py -> build\lib.win-amd64-3.7\opentimelineio\algorithms
    copying src\py-opentimelineio\opentimelineio\algorithms\stack_algo.py -> build\lib.win-amd64-3.7\opentimelineio\algorithms
    copying src\py-opentimelineio\opentimelineio\algorithms\timeline_algo.py -> build\lib.win-amd64-3.7\opentimelineio\algorithms
    copying src\py-opentimelineio\opentimelineio\algorithms\track_algo.py -> build\lib.win-amd64-3.7\opentimelineio\algorithms
    copying src\py-opentimelineio\opentimelineio\algorithms\__init__.py -> build\lib.win-amd64-3.7\opentimelineio\algorithms
    creating build\lib.win-amd64-3.7\opentimelineio\console
    copying src\py-opentimelineio\opentimelineio\console\autogen_plugin_documentation.py -> build\lib.win-amd64-3.7\opentimelineio\console
    copying src\py-opentimelineio\opentimelineio\console\autogen_serialized_datamodel.py -> build\lib.win-amd64-3.7\opentimelineio\console
    copying src\py-opentimelineio\opentimelineio\console\console_utils.py -> build\lib.win-amd64-3.7\opentimelineio\console
    copying src\py-opentimelineio\opentimelineio\console\otiocat.py -> build\lib.win-amd64-3.7\opentimelineio\console
    copying src\py-opentimelineio\opentimelineio\console\otioconvert.py -> build\lib.win-amd64-3.7\opentimelineio\console
    copying src\py-opentimelineio\opentimelineio\console\otiopluginfo.py -> build\lib.win-amd64-3.7\opentimelineio\console
    copying src\py-opentimelineio\opentimelineio\console\otiostat.py -> build\lib.win-amd64-3.7\opentimelineio\console
    copying src\py-opentimelineio\opentimelineio\console\__init__.py -> build\lib.win-amd64-3.7\opentimelineio\console
    creating build\lib.win-amd64-3.7\opentimelineio\core
    copying src\py-opentimelineio\opentimelineio\core\composable.py -> build\lib.win-amd64-3.7\opentimelineio\core
    copying src\py-opentimelineio\opentimelineio\core\composition.py -> build\lib.win-amd64-3.7\opentimelineio\core
    copying src\py-opentimelineio\opentimelineio\core\item.py -> build\lib.win-amd64-3.7\opentimelineio\core
    copying src\py-opentimelineio\opentimelineio\core\mediaReference.py -> build\lib.win-amd64-3.7\opentimelineio\core
    copying src\py-opentimelineio\opentimelineio\core\_core_utils.py -> build\lib.win-amd64-3.7\opentimelineio\core
    copying src\py-opentimelineio\opentimelineio\core\__init__.py -> build\lib.win-amd64-3.7\opentimelineio\core
    creating build\lib.win-amd64-3.7\opentimelineio\plugins
    copying src\py-opentimelineio\opentimelineio\plugins\manifest.py -> build\lib.win-amd64-3.7\opentimelineio\plugins
    copying src\py-opentimelineio\opentimelineio\plugins\python_plugin.py -> build\lib.win-amd64-3.7\opentimelineio\plugins
    copying src\py-opentimelineio\opentimelineio\plugins\__init__.py -> build\lib.win-amd64-3.7\opentimelineio\plugins
    creating build\lib.win-amd64-3.7\opentimelineio\schema
    copying src\py-opentimelineio\opentimelineio\schema\clip.py -> build\lib.win-amd64-3.7\opentimelineio\schema
    copying src\py-opentimelineio\opentimelineio\schema\effect.py -> build\lib.win-amd64-3.7\opentimelineio\schema
    copying src\py-opentimelineio\opentimelineio\schema\external_reference.py -> build\lib.win-amd64-3.7\opentimelineio\schema
    copying src\py-opentimelineio\opentimelineio\schema\foo.py -> build\lib.win-amd64-3.7\opentimelineio\schema
    copying src\py-opentimelineio\opentimelineio\schema\generator_reference.py -> build\lib.win-amd64-3.7\opentimelineio\schema
    copying src\py-opentimelineio\opentimelineio\schema\marker.py -> build\lib.win-amd64-3.7\opentimelineio\schema
    copying src\py-opentimelineio\opentimelineio\schema\schemadef.py -> build\lib.win-amd64-3.7\opentimelineio\schema
    copying src\py-opentimelineio\opentimelineio\schema\serializable_collection.py -> build\lib.win-amd64-3.7\opentimelineio\schema
    copying src\py-opentimelineio\opentimelineio\schema\stack.py -> build\lib.win-amd64-3.7\opentimelineio\schema
    copying src\py-opentimelineio\opentimelineio\schema\timeline.py -> build\lib.win-amd64-3.7\opentimelineio\schema
    copying src\py-opentimelineio\opentimelineio\schema\track.py -> build\lib.win-amd64-3.7\opentimelineio\schema
    copying src\py-opentimelineio\opentimelineio\schema\transition.py -> build\lib.win-amd64-3.7\opentimelineio\schema
    copying src\py-opentimelineio\opentimelineio\schema\__init__.py -> build\lib.win-amd64-3.7\opentimelineio\schema
    creating build\lib.win-amd64-3.7\opentimelineio\schemadef
    copying src\py-opentimelineio\opentimelineio\schemadef\__init__.py -> build\lib.win-amd64-3.7\opentimelineio\schemadef
    creating build\lib.win-amd64-3.7\opentimelineview
    copying src\opentimelineview\console.py -> build\lib.win-amd64-3.7\opentimelineview
    copying src\opentimelineview\details_widget.py -> build\lib.win-amd64-3.7\opentimelineview
    copying src\opentimelineview\ruler_widget.py -> build\lib.win-amd64-3.7\opentimelineview
    copying src\opentimelineview\settings.py -> build\lib.win-amd64-3.7\opentimelineview
    copying src\opentimelineview\timeline_widget.py -> build\lib.win-amd64-3.7\opentimelineview
    copying src\opentimelineview\track_widgets.py -> build\lib.win-amd64-3.7\opentimelineview
    copying src\opentimelineview\__init__.py -> build\lib.win-amd64-3.7\opentimelineview
    creating build\lib.win-amd64-3.7\opentimelineio_contrib
    copying contrib\opentimelineio_contrib\__init__.py -> build\lib.win-amd64-3.7\opentimelineio_contrib
    creating build\lib.win-amd64-3.7\opentimelineio_contrib\adapters
    copying contrib\opentimelineio_contrib\adapters\advanced_authoring_format.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\adapters
    copying contrib\opentimelineio_contrib\adapters\ale.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\adapters
    copying contrib\opentimelineio_contrib\adapters\burnins.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\adapters
    copying contrib\opentimelineio_contrib\adapters\extern_maya_sequencer.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\adapters
    copying contrib\opentimelineio_contrib\adapters\extern_rv.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\adapters
    copying contrib\opentimelineio_contrib\adapters\fcpx_xml.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\adapters
    copying contrib\opentimelineio_contrib\adapters\ffmpeg_burnins.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\adapters
    copying contrib\opentimelineio_contrib\adapters\hls_playlist.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\adapters
    copying contrib\opentimelineio_contrib\adapters\kdenlive.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\adapters
    copying contrib\opentimelineio_contrib\adapters\maya_sequencer.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\adapters
    copying contrib\opentimelineio_contrib\adapters\rv.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\adapters
    copying contrib\opentimelineio_contrib\adapters\xges.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\adapters
    copying contrib\opentimelineio_contrib\adapters\__init__.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\adapters
    creating build\lib.win-amd64-3.7\opentimelineio_contrib\adapters\aaf_adapter
    copying contrib\opentimelineio_contrib\adapters\aaf_adapter\aaf_writer.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\adapters\aaf_adapter
    copying contrib\opentimelineio_contrib\adapters\aaf_adapter\__init__.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\adapters\aaf_adapter
    running egg_info
    writing OpenTimelineIO.egg-info\PKG-INFO
    writing dependency_links to OpenTimelineIO.egg-info\dependency_links.txt
    writing entry points to OpenTimelineIO.egg-info\entry_points.txt
    writing requirements to OpenTimelineIO.egg-info\requires.txt
    writing top-level names to OpenTimelineIO.egg-info\top_level.txt
    reading manifest file 'OpenTimelineIO.egg-info\SOURCES.txt'
    reading manifest template 'MANIFEST.in'
    warning: no files found matching 'CHANGELOG.md'
    no previously-included directories found matching 'docs'
    warning: no previously-included files found matching '.gitmodules'
    warning: no previously-included files matching '*.git' found under directory 'src'
    warning: no previously-included files found matching '.readthedocs.yml'
    warning: no previously-included files found matching 'readthedocs-conda.yml'
    warning: no previously-included files found matching '.codecov.yml'
    warning: no previously-included files found matching '.gitlab-ci.yml'
    warning: no previously-included files found matching '.travis.yml'
    warning: no previously-included files found matching '*.pdf'
    warning: no previously-included files found matching 'CODE_OF_CONDUCT.md'
    warning: no previously-included files found matching 'CONTRIBUTING.md'
    warning: no previously-included files found matching 'contrib\opentimelineio_contrib\adapters\Makefile'
    warning: no previously-included files found matching 'Makefile'
    no previously-included directories found matching 'contrib\opentimelineio_contrib\adapters\tests'
    no previously-included directories found matching 'tests'
    no previously-included directories found matching 'src\deps\pybind11\tools\clang'
    no previously-included directories found matching 'src\deps\rapidjson\thirdparty'
    writing manifest file 'OpenTimelineIO.egg-info\SOURCES.txt'
    copying src\py-opentimelineio\opentimelineio\adapters\builtin_adapters.plugin_manifest.json -> build\lib.win-amd64-3.7\opentimelineio\adapters
    creating build\lib.win-amd64-3.7\opentimelineio_contrib\application_plugins
    creating build\lib.win-amd64-3.7\opentimelineio_contrib\application_plugins\rv
    creating build\lib.win-amd64-3.7\opentimelineio_contrib\application_plugins\rv\example_otio_reader
    copying contrib\opentimelineio_contrib\application_plugins\rv\example_otio_reader\PACKAGE -> build\lib.win-amd64-3.7\opentimelineio_contrib\application_plugins\rv\example_otio_reader
    copying contrib\opentimelineio_contrib\application_plugins\rv\example_otio_reader\example_otio_reader_plugin.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\application_plugins\rv\example_otio_reader
    copying contrib\opentimelineio_contrib\application_plugins\rv\example_otio_reader\otio_reader.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\application_plugins\rv\example_otio_reader
    copying contrib\opentimelineio_contrib\adapters\contrib_adapters.plugin_manifest.json -> build\lib.win-amd64-3.7\opentimelineio_contrib\adapters
    running build_ext
    -- Building for: Visual Studio 16 2019
    -- The C compiler identification is MSVC 19.23.28106.4
    -- The CXX compiler identification is MSVC 19.23.28106.4
    -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.23.28105/bin/Hostx64/x64/cl.exe
    -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.23.28105/bin/Hostx64/x64/cl.exe -- works
    -- Detecting C compiler ABI info
    -- Detecting C compiler ABI info - done
    -- Detecting C compile features
    -- Detecting C compile features - done
    -- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.23.28105/bin/Hostx64/x64/cl.exe
    -- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.23.28105/bin/Hostx64/x64/cl.exe -- works
    -- Detecting CXX compiler ABI info
    -- Detecting CXX compiler ABI info - done
    -- Detecting CXX compile features
    -- Detecting CXX compile features - done
    fatal: not a git repository (or any of the parent directories): .git
    -- Found PythonInterp: C:/Users/user/Documents/build_windows_x64_vc16_Release/bin/Release/2.83/python/bin/python.exe (found version "3.7.4")
    CMake Error at src/deps/pybind11/tools/FindPythonLibsNew.cmake:158 (message):
      Python libraries not found
    Call Stack (most recent call first):
      src/deps/pybind11/tools/pybind11Tools.cmake:16 (find_package)
      src/deps/pybind11/CMakeLists.txt:33 (include)


    -- Configuring incomplete, errors occurred!
    See also "C:/Users/user/AppData/Local/Temp/pip-install-w6q_74kv/opentimelineio/build/temp.win-amd64-3.7/Release/CMakeFiles/CMakeOutput.log".
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Users\user\AppData\Local\Temp\pip-install-w6q_74kv\opentimelineio\setup.py", line 466, in <module>
        **PROJECT_METADATA
      File "C:\Users\user\Documents\build_windows_x64_vc16_Release\bin\Release\2.83\python\lib\site-packages\setuptools\__init__.py", line 145, in setup
        return distutils.core.setup(**attrs)
      File "C:\Users\user\Documents\build_windows_x64_vc16_Release\bin\Release\2.83\python\lib\distutils\core.py", line 148, in setup
        dist.run_commands()
      File "C:\Users\user\Documents\build_windows_x64_vc16_Release\bin\Release\2.83\python\lib\distutils\dist.py", line 966, in run_commands
        self.run_command(cmd)
      File "C:\Users\user\Documents\build_windows_x64_vc16_Release\bin\Release\2.83\python\lib\distutils\dist.py", line 985, in run_command
        cmd_obj.run()
      File "C:\Users\user\AppData\Local\Temp\pip-install-w6q_74kv\opentimelineio\setup.py", line 140, in run
        install.run(self)
      File "C:\Users\user\Documents\build_windows_x64_vc16_Release\bin\Release\2.83\python\lib\site-packages\setuptools\command\install.py", line 61, in run
        return orig.install.run(self)
      File "C:\Users\user\Documents\build_windows_x64_vc16_Release\bin\Release\2.83\python\lib\distutils\command\install.py", line 545, in run
        self.run_command('build')
      File "C:\Users\user\Documents\build_windows_x64_vc16_Release\bin\Release\2.83\python\lib\distutils\cmd.py", line 313, in run_command
        self.distribution.run_command(command)
      File "C:\Users\user\Documents\build_windows_x64_vc16_Release\bin\Release\2.83\python\lib\distutils\dist.py", line 985, in run_command
        cmd_obj.run()
      File "C:\Users\user\Documents\build_windows_x64_vc16_Release\bin\Release\2.83\python\lib\distutils\command\build.py", line 135, in run
        self.run_command(cmd_name)
      File "C:\Users\user\Documents\build_windows_x64_vc16_Release\bin\Release\2.83\python\lib\distutils\cmd.py", line 313, in run_command
        self.distribution.run_command(command)
      File "C:\Users\user\Documents\build_windows_x64_vc16_Release\bin\Release\2.83\python\lib\distutils\dist.py", line 985, in run_command
        cmd_obj.run()
      File "C:\Users\user\AppData\Local\Temp\pip-install-w6q_74kv\opentimelineio\setup.py", line 185, in run
        self.build()
      File "C:\Users\user\AppData\Local\Temp\pip-install-w6q_74kv\opentimelineio\setup.py", line 216, in build
        env=env
      File "C:\Users\user\Documents\build_windows_x64_vc16_Release\bin\Release\2.83\python\lib\subprocess.py", line 347, in check_call
        raise CalledProcessError(retcode, cmd)
    subprocess.CalledProcessError: Command '['cmake', 'C:\\Users\\user\\AppData\\Local\\Temp\\pip-install-w6q_74kv\\opentimelineio', '-DPYTHON_EXECUTABLE=C:\\Users\\user\\Documents\\build_windows_x64_vc16_Release\\bin\\Release\\2.83\\python\\bin\\python.exe', '-DOTIO_PYTHON_INSTALL:BOOL=ON', '-DOTIO_PYTHON_OTIO_DIR=C:\\Users\\user\\AppData\\Local\\Temp\\pip-install-w6q_74kv\\opentimelineio\\build\\lib.win-amd64-3.7\\opentimelineio\\', '-DCMAKE_INSTALL_PREFIX=C:\\Users\\user\\Documents\\build_windows_x64_vc16_Release\\bin\\Release\\2.83\\python\\Lib\\site-packages\\opentimelineio\\cxx-libs', '-DOTIO_CXX_NOINSTALL:BOOL=ON', '-A', 'x64']' returned non-zero exit status 1.
    ----------------------------------------
ERROR: Command errored out with exit status 1: 'C:\Users\user\Documents\build_windows_x64_vc16_Release\bin\Release\2.83\python\bin\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\user\\AppData\\Local\\Temp\\pip-install-w6q_74kv\\opentimelineio\\setup.py'"'"'; __file__='"'"'C:\\Users\\user\\AppData\\Local\\Temp\\pip-install-w6q_74kv\\opentimelineio\\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\user\AppData\Local\Temp\pip-record-qe4za2pc\install-record.txt' --single-version-externally-managed --compile --install-headers 'C:\Users\user\Documents\build_windows_x64_vc16_Release\bin\Release\2.83\python\Include\opentimelineio' Check the logs for full command output.
@meshula
Copy link
Collaborator

meshula commented Mar 22, 2020

Python 2.7 + VS2019 + cmake 3.13 fails as well. Omitting lots of errors, here's the first problem.

   -- Found PythonLibs: C:/Python27/libs/Python27.lib
    -- pybind11 v2.3.dev0
    CMake Error at src/opentime/CMakeLists.txt:17 (install):
      install Library TARGETS given no DESTINATION!


    CMake Error at src/opentimelineio/CMakeLists.txt:80 (install):
      install Library TARGETS given no DESTINATION!

@meshula meshula self-assigned this Mar 23, 2020
@meshula
Copy link
Collaborator

meshula commented Mar 24, 2020

#669 fixes the issue for me.

@ssteinbach
Copy link
Collaborator

@tin2tin can you try the latest build? We think we may have addressed this. If it looks good for you I can cut a 0.12.1 release.

@tin2tin
Copy link
Author

tin2tin commented Mar 26, 2020

I'm sorry. I'm still getting errors:

Collecting opentimelineio
  Using cached OpenTimelineIO-0.12.0.tar.gz (2.0 MB)
Requirement already satisfied: pyaaf2==1.2.0 in c:\users\user\documents\build_windows_x64_vc16_release\bin\release\2.83\python\lib\site-packages (from opentimelineio) (1.2.0)
Installing collected packages: opentimelineio
    Running setup.py install for opentimelineio ... error
    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\user\Documents\build_windows_x64_vc16_Release\bin\Release\2.83\python\bin\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\user\\AppData\\Local\\Temp\\pip-install-d9p791wd\\opentimelineio\\setup.py'"'"'; __file__='"'"'C:\\Users\\user\\AppData\\Local\\Temp\\pip-install-d9p791wd\\opentimelineio\\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\user\AppData\Local\Temp\pip-record-dufrbuw1\install-record.txt' --single-version-externally-managed --compile --install-headers 'C:\Users\user\Documents\build_windows_x64_vc16_Release\bin\Release\2.83\python\Include\opentimelineio'
         cwd: C:\Users\user\AppData\Local\Temp\pip-install-d9p791wd\opentimelineio\
    Complete output (184 lines):
    running install
    running build
    running build_py
    creating build
    creating build\lib.win-amd64-3.7
    creating build\lib.win-amd64-3.7\opentimelineio
    copying src\py-opentimelineio\opentimelineio\exceptions.py -> build\lib.win-amd64-3.7\opentimelineio
    copying src\py-opentimelineio\opentimelineio\hooks.py -> build\lib.win-amd64-3.7\opentimelineio
    copying src\py-opentimelineio\opentimelineio\media_linker.py -> build\lib.win-amd64-3.7\opentimelineio
    copying src\py-opentimelineio\opentimelineio\opentime.py -> build\lib.win-amd64-3.7\opentimelineio
    copying src\py-opentimelineio\opentimelineio\test_utils.py -> build\lib.win-amd64-3.7\opentimelineio
    copying src\py-opentimelineio\opentimelineio\__init__.py -> build\lib.win-amd64-3.7\opentimelineio
    creating build\lib.win-amd64-3.7\opentimelineio\adapters
    copying src\py-opentimelineio\opentimelineio\adapters\adapter.py -> build\lib.win-amd64-3.7\opentimelineio\adapters
    copying src\py-opentimelineio\opentimelineio\adapters\cmx_3600.py -> build\lib.win-amd64-3.7\opentimelineio\adapters
    copying src\py-opentimelineio\opentimelineio\adapters\fcp_xml.py -> build\lib.win-amd64-3.7\opentimelineio\adapters
    copying src\py-opentimelineio\opentimelineio\adapters\otio_json.py -> build\lib.win-amd64-3.7\opentimelineio\adapters
    copying src\py-opentimelineio\opentimelineio\adapters\__init__.py -> build\lib.win-amd64-3.7\opentimelineio\adapters
    creating build\lib.win-amd64-3.7\opentimelineio\algorithms
    copying src\py-opentimelineio\opentimelineio\algorithms\filter.py -> build\lib.win-amd64-3.7\opentimelineio\algorithms
    copying src\py-opentimelineio\opentimelineio\algorithms\stack_algo.py -> build\lib.win-amd64-3.7\opentimelineio\algorithms
    copying src\py-opentimelineio\opentimelineio\algorithms\timeline_algo.py -> build\lib.win-amd64-3.7\opentimelineio\algorithms
    copying src\py-opentimelineio\opentimelineio\algorithms\track_algo.py -> build\lib.win-amd64-3.7\opentimelineio\algorithms
    copying src\py-opentimelineio\opentimelineio\algorithms\__init__.py -> build\lib.win-amd64-3.7\opentimelineio\algorithms
    creating build\lib.win-amd64-3.7\opentimelineio\console
    copying src\py-opentimelineio\opentimelineio\console\autogen_plugin_documentation.py -> build\lib.win-amd64-3.7\opentimelineio\console
    copying src\py-opentimelineio\opentimelineio\console\autogen_serialized_datamodel.py -> build\lib.win-amd64-3.7\opentimelineio\console
    copying src\py-opentimelineio\opentimelineio\console\console_utils.py -> build\lib.win-amd64-3.7\opentimelineio\console
    copying src\py-opentimelineio\opentimelineio\console\otiocat.py -> build\lib.win-amd64-3.7\opentimelineio\console
    copying src\py-opentimelineio\opentimelineio\console\otioconvert.py -> build\lib.win-amd64-3.7\opentimelineio\console
    copying src\py-opentimelineio\opentimelineio\console\otiopluginfo.py -> build\lib.win-amd64-3.7\opentimelineio\console
    copying src\py-opentimelineio\opentimelineio\console\otiostat.py -> build\lib.win-amd64-3.7\opentimelineio\console
    copying src\py-opentimelineio\opentimelineio\console\__init__.py -> build\lib.win-amd64-3.7\opentimelineio\console
    creating build\lib.win-amd64-3.7\opentimelineio\core
    copying src\py-opentimelineio\opentimelineio\core\composable.py -> build\lib.win-amd64-3.7\opentimelineio\core
    copying src\py-opentimelineio\opentimelineio\core\composition.py -> build\lib.win-amd64-3.7\opentimelineio\core
    copying src\py-opentimelineio\opentimelineio\core\item.py -> build\lib.win-amd64-3.7\opentimelineio\core
    copying src\py-opentimelineio\opentimelineio\core\mediaReference.py -> build\lib.win-amd64-3.7\opentimelineio\core
    copying src\py-opentimelineio\opentimelineio\core\_core_utils.py -> build\lib.win-amd64-3.7\opentimelineio\core
    copying src\py-opentimelineio\opentimelineio\core\__init__.py -> build\lib.win-amd64-3.7\opentimelineio\core
    creating build\lib.win-amd64-3.7\opentimelineio\plugins
    copying src\py-opentimelineio\opentimelineio\plugins\manifest.py -> build\lib.win-amd64-3.7\opentimelineio\plugins
    copying src\py-opentimelineio\opentimelineio\plugins\python_plugin.py -> build\lib.win-amd64-3.7\opentimelineio\plugins
    copying src\py-opentimelineio\opentimelineio\plugins\__init__.py -> build\lib.win-amd64-3.7\opentimelineio\plugins
    creating build\lib.win-amd64-3.7\opentimelineio\schema
    copying src\py-opentimelineio\opentimelineio\schema\clip.py -> build\lib.win-amd64-3.7\opentimelineio\schema
    copying src\py-opentimelineio\opentimelineio\schema\effect.py -> build\lib.win-amd64-3.7\opentimelineio\schema
    copying src\py-opentimelineio\opentimelineio\schema\external_reference.py -> build\lib.win-amd64-3.7\opentimelineio\schema
    copying src\py-opentimelineio\opentimelineio\schema\foo.py -> build\lib.win-amd64-3.7\opentimelineio\schema
    copying src\py-opentimelineio\opentimelineio\schema\generator_reference.py -> build\lib.win-amd64-3.7\opentimelineio\schema
    copying src\py-opentimelineio\opentimelineio\schema\marker.py -> build\lib.win-amd64-3.7\opentimelineio\schema
    copying src\py-opentimelineio\opentimelineio\schema\schemadef.py -> build\lib.win-amd64-3.7\opentimelineio\schema
    copying src\py-opentimelineio\opentimelineio\schema\serializable_collection.py -> build\lib.win-amd64-3.7\opentimelineio\schema
    copying src\py-opentimelineio\opentimelineio\schema\stack.py -> build\lib.win-amd64-3.7\opentimelineio\schema
    copying src\py-opentimelineio\opentimelineio\schema\timeline.py -> build\lib.win-amd64-3.7\opentimelineio\schema
    copying src\py-opentimelineio\opentimelineio\schema\track.py -> build\lib.win-amd64-3.7\opentimelineio\schema
    copying src\py-opentimelineio\opentimelineio\schema\transition.py -> build\lib.win-amd64-3.7\opentimelineio\schema
    copying src\py-opentimelineio\opentimelineio\schema\__init__.py -> build\lib.win-amd64-3.7\opentimelineio\schema
    creating build\lib.win-amd64-3.7\opentimelineio\schemadef
    copying src\py-opentimelineio\opentimelineio\schemadef\__init__.py -> build\lib.win-amd64-3.7\opentimelineio\schemadef
    creating build\lib.win-amd64-3.7\opentimelineview
    copying src\opentimelineview\console.py -> build\lib.win-amd64-3.7\opentimelineview
    copying src\opentimelineview\details_widget.py -> build\lib.win-amd64-3.7\opentimelineview
    copying src\opentimelineview\ruler_widget.py -> build\lib.win-amd64-3.7\opentimelineview
    copying src\opentimelineview\settings.py -> build\lib.win-amd64-3.7\opentimelineview
    copying src\opentimelineview\timeline_widget.py -> build\lib.win-amd64-3.7\opentimelineview
    copying src\opentimelineview\track_widgets.py -> build\lib.win-amd64-3.7\opentimelineview
    copying src\opentimelineview\__init__.py -> build\lib.win-amd64-3.7\opentimelineview
    creating build\lib.win-amd64-3.7\opentimelineio_contrib
    copying contrib\opentimelineio_contrib\__init__.py -> build\lib.win-amd64-3.7\opentimelineio_contrib
    creating build\lib.win-amd64-3.7\opentimelineio_contrib\adapters
    copying contrib\opentimelineio_contrib\adapters\advanced_authoring_format.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\adapters
    copying contrib\opentimelineio_contrib\adapters\ale.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\adapters
    copying contrib\opentimelineio_contrib\adapters\burnins.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\adapters
    copying contrib\opentimelineio_contrib\adapters\extern_maya_sequencer.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\adapters
    copying contrib\opentimelineio_contrib\adapters\extern_rv.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\adapters
    copying contrib\opentimelineio_contrib\adapters\fcpx_xml.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\adapters
    copying contrib\opentimelineio_contrib\adapters\ffmpeg_burnins.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\adapters
    copying contrib\opentimelineio_contrib\adapters\hls_playlist.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\adapters
    copying contrib\opentimelineio_contrib\adapters\kdenlive.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\adapters
    copying contrib\opentimelineio_contrib\adapters\maya_sequencer.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\adapters
    copying contrib\opentimelineio_contrib\adapters\rv.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\adapters
    copying contrib\opentimelineio_contrib\adapters\xges.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\adapters
    copying contrib\opentimelineio_contrib\adapters\__init__.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\adapters
    creating build\lib.win-amd64-3.7\opentimelineio_contrib\adapters\aaf_adapter
    copying contrib\opentimelineio_contrib\adapters\aaf_adapter\aaf_writer.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\adapters\aaf_adapter
    copying contrib\opentimelineio_contrib\adapters\aaf_adapter\__init__.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\adapters\aaf_adapter
    running egg_info
    writing OpenTimelineIO.egg-info\PKG-INFO
    writing dependency_links to OpenTimelineIO.egg-info\dependency_links.txt
    writing entry points to OpenTimelineIO.egg-info\entry_points.txt
    writing requirements to OpenTimelineIO.egg-info\requires.txt
    writing top-level names to OpenTimelineIO.egg-info\top_level.txt
    reading manifest file 'OpenTimelineIO.egg-info\SOURCES.txt'
    reading manifest template 'MANIFEST.in'
    warning: no files found matching 'CHANGELOG.md'
    no previously-included directories found matching 'docs'
    warning: no previously-included files found matching '.gitmodules'
    warning: no previously-included files matching '*.git' found under directory 'src'
    warning: no previously-included files found matching '.readthedocs.yml'
    warning: no previously-included files found matching 'readthedocs-conda.yml'
    warning: no previously-included files found matching '.codecov.yml'
    warning: no previously-included files found matching '.gitlab-ci.yml'
    warning: no previously-included files found matching '.travis.yml'
    warning: no previously-included files found matching '*.pdf'
    warning: no previously-included files found matching 'CODE_OF_CONDUCT.md'
    warning: no previously-included files found matching 'CONTRIBUTING.md'
    warning: no previously-included files found matching 'contrib\opentimelineio_contrib\adapters\Makefile'
    warning: no previously-included files found matching 'Makefile'
    no previously-included directories found matching 'contrib\opentimelineio_contrib\adapters\tests'
    no previously-included directories found matching 'tests'
    no previously-included directories found matching 'src\deps\pybind11\tools\clang'
    no previously-included directories found matching 'src\deps\rapidjson\thirdparty'
    writing manifest file 'OpenTimelineIO.egg-info\SOURCES.txt'
    copying src\py-opentimelineio\opentimelineio\adapters\builtin_adapters.plugin_manifest.json -> build\lib.win-amd64-3.7\opentimelineio\adapters
    creating build\lib.win-amd64-3.7\opentimelineio_contrib\application_plugins
    creating build\lib.win-amd64-3.7\opentimelineio_contrib\application_plugins\rv
    creating build\lib.win-amd64-3.7\opentimelineio_contrib\application_plugins\rv\example_otio_reader
    copying contrib\opentimelineio_contrib\application_plugins\rv\example_otio_reader\PACKAGE -> build\lib.win-amd64-3.7\opentimelineio_contrib\application_plugins\rv\example_otio_reader
    copying contrib\opentimelineio_contrib\application_plugins\rv\example_otio_reader\example_otio_reader_plugin.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\application_plugins\rv\example_otio_reader
    copying contrib\opentimelineio_contrib\application_plugins\rv\example_otio_reader\otio_reader.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\application_plugins\rv\example_otio_reader
    copying contrib\opentimelineio_contrib\adapters\contrib_adapters.plugin_manifest.json -> build\lib.win-amd64-3.7\opentimelineio_contrib\adapters
    running build_ext
    -- Building for: Visual Studio 16 2019
    -- The C compiler identification is MSVC 19.23.28106.4
    -- The CXX compiler identification is MSVC 19.23.28106.4
    -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.23.28105/bin/Hostx64/x64/cl.exe
    -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.23.28105/bin/Hostx64/x64/cl.exe -- works
    -- Detecting C compiler ABI info
    -- Detecting C compiler ABI info - done
    -- Detecting C compile features
    -- Detecting C compile features - done
    -- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.23.28105/bin/Hostx64/x64/cl.exe
    -- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.23.28105/bin/Hostx64/x64/cl.exe -- works
    -- Detecting CXX compiler ABI info
    -- Detecting CXX compiler ABI info - done
    -- Detecting CXX compile features
    -- Detecting CXX compile features - done
    fatal: not a git repository (or any of the parent directories): .git
    -- Found PythonInterp: C:/Users/user/Documents/build_windows_x64_vc16_Release/bin/Release/2.83/python/bin/python.exe (found version "3.7.4")
    CMake Error at src/deps/pybind11/tools/FindPythonLibsNew.cmake:158 (message):
      Python libraries not found
    Call Stack (most recent call first):
      src/deps/pybind11/tools/pybind11Tools.cmake:16 (find_package)
      src/deps/pybind11/CMakeLists.txt:33 (include)


    -- Configuring incomplete, errors occurred!
    See also "C:/Users/user/AppData/Local/Temp/pip-install-d9p791wd/opentimelineio/build/temp.win-amd64-3.7/Release/CMakeFiles/CMakeOutput.log".
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Users\user\AppData\Local\Temp\pip-install-d9p791wd\opentimelineio\setup.py", line 466, in <module>
        **PROJECT_METADATA
      File "C:\Users\user\Documents\build_windows_x64_vc16_Release\bin\Release\2.83\python\lib\site-packages\setuptools\__init__.py", line 145, in setup
        return distutils.core.setup(**attrs)
      File "C:\Users\user\Documents\build_windows_x64_vc16_Release\bin\Release\2.83\python\lib\distutils\core.py", line 148, in setup
        dist.run_commands()
      File "C:\Users\user\Documents\build_windows_x64_vc16_Release\bin\Release\2.83\python\lib\distutils\dist.py", line 966, in run_commands
        self.run_command(cmd)
      File "C:\Users\user\Documents\build_windows_x64_vc16_Release\bin\Release\2.83\python\lib\distutils\dist.py", line 985, in run_command
        cmd_obj.run()
      File "C:\Users\user\AppData\Local\Temp\pip-install-d9p791wd\opentimelineio\setup.py", line 140, in run
        install.run(self)
      File "C:\Users\user\Documents\build_windows_x64_vc16_Release\bin\Release\2.83\python\lib\site-packages\setuptools\command\install.py", line 61, in run
        return orig.install.run(self)
      File "C:\Users\user\Documents\build_windows_x64_vc16_Release\bin\Release\2.83\python\lib\distutils\command\install.py", line 545, in run
        self.run_command('build')
      File "C:\Users\user\Documents\build_windows_x64_vc16_Release\bin\Release\2.83\python\lib\distutils\cmd.py", line 313, in run_command
        self.distribution.run_command(command)
      File "C:\Users\user\Documents\build_windows_x64_vc16_Release\bin\Release\2.83\python\lib\distutils\dist.py", line 985, in run_command
        cmd_obj.run()
      File "C:\Users\user\Documents\build_windows_x64_vc16_Release\bin\Release\2.83\python\lib\distutils\command\build.py", line 135, in run
        self.run_command(cmd_name)
      File "C:\Users\user\Documents\build_windows_x64_vc16_Release\bin\Release\2.83\python\lib\distutils\cmd.py", line 313, in run_command
        self.distribution.run_command(command)
      File "C:\Users\user\Documents\build_windows_x64_vc16_Release\bin\Release\2.83\python\lib\distutils\dist.py", line 985, in run_command
        cmd_obj.run()
      File "C:\Users\user\AppData\Local\Temp\pip-install-d9p791wd\opentimelineio\setup.py", line 185, in run
        self.build()
      File "C:\Users\user\AppData\Local\Temp\pip-install-d9p791wd\opentimelineio\setup.py", line 216, in build
        env=env
      File "C:\Users\user\Documents\build_windows_x64_vc16_Release\bin\Release\2.83\python\lib\subprocess.py", line 347, in check_call
        raise CalledProcessError(retcode, cmd)
    subprocess.CalledProcessError: Command '['cmake', 'C:\\Users\\user\\AppData\\Local\\Temp\\pip-install-d9p791wd\\opentimelineio', '-DPYTHON_EXECUTABLE=C:\\Users\\user\\Documents\\build_windows_x64_vc16_Release\\bin\\Release\\2.83\\python\\bin\\python.exe', '-DOTIO_PYTHON_INSTALL:BOOL=ON', '-DOTIO_PYTHON_OTIO_DIR=C:\\Users\\user\\AppData\\Local\\Temp\\pip-install-d9p791wd\\opentimelineio\\build\\lib.win-amd64-3.7\\opentimelineio\\', '-DCMAKE_INSTALL_PREFIX=C:\\Users\\user\\Documents\\build_windows_x64_vc16_Release\\bin\\Release\\2.83\\python\\Lib\\site-packages\\opentimelineio\\cxx-libs', '-DOTIO_CXX_NOINSTALL:BOOL=ON', '-A', 'x64']' returned non-zero exit status 1.
    ----------------------------------------
ERROR: Command errored out with exit status 1: 'C:\Users\user\Documents\build_windows_x64_vc16_Release\bin\Release\2.83\python\bin\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\user\\AppData\\Local\\Temp\\pip-install-d9p791wd\\opentimelineio\\setup.py'"'"'; __file__='"'"'C:\\Users\\user\\AppData\\Local\\Temp\\pip-install-d9p791wd\\opentimelineio\\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\user\AppData\Local\Temp\pip-record-dufrbuw1\install-record.txt' --single-version-externally-managed --compile --install-headers 'C:\Users\user\Documents\build_windows_x64_vc16_Release\bin\Release\2.83\python\Include\opentimelineio' Check the logs for full command output.```

@meshula
Copy link
Collaborator

meshula commented Mar 26, 2020

According to this message -

C:/Users/user/Documents/build_windows_x64_vc16_Release/bin/Release/2.83/python/bin/python.exe (found version "3.7.4")

It seems that you have both python 2.83 and 3.7.4 installed, and the build system can't tell them apart.

According to this message -

C:\Users\user\Documents\build_windows_x64_vc16_Release\bin\Release\2.83\python\lib\subprocess.py

you are running the build under python 2.83.

This means cmake is detecting a mismatched python, and we probably need to add some code to our build system to ensure that cmake finds the python being run, not the python it prefers because cmake previously encountered python 3 and prefers it.

BTW, are you intending to build for Python 2 or Python 3? As far as I can tell, if you set your path to prefer Python 3, then the build will probably succeed because CMake will then be matched.

@meshula meshula added build issues building OTIO cmake issues with the cmake scripts labels Mar 26, 2020
@tin2tin
Copy link
Author

tin2tin commented Mar 26, 2020

I'm trying to pip install it into the Blender 2.83 included python:
image

I don't think I've got a python 2.83 installed(it's the Blender version number)
(The log is from installing without having cmake installed in python, but I also had errors when installing OTIO when cmake was installed in Blender's python)

@meshula
Copy link
Collaborator

meshula commented Mar 26, 2020

Ah :) The coincidence of version numbers is confusing, and Python is 2.8.x not 2.8x... I'll try to reproduce your specific case of installation into the Blender python environment.

@meshula
Copy link
Collaborator

meshula commented Mar 26, 2020

I installed a fresh copy of Blender using their installer, but it doesn't actually include the Python development environment. It would need the Python include directory and libs directory, but those aren't part of the installation. @tin2tin I wonder if it's possible to reach out to the Blender team for advice, and continue the conversation here with them? I'd like to help if possible, but I don't have a Blender development environment set up here, so I can't reproduce what you've got.

@tin2tin
Copy link
Author

tin2tin commented Mar 31, 2020

This is the answer I got: "AFAIK that's not going to be possible with regular Blender releases, unless we bundle Visual Studio with Windows builds, or XCode with macOS builds."
So I guess that the conclusion is that it is not possible to install OTIO with PIP from Blender.

@meshula
Copy link
Collaborator

meshula commented Mar 31, 2020

As far as I understand how blender is distributed, and how pip works, that response makes sense. Is it possible for you to set up a Blender build yourself in order to have full control over your build environment? If OTIO were to be integrated as part of a stock distribution of Blender, I guess it will ultimately be necessary to have a full Blender build. A second possibility is to discover which version of Python is built into Blender, and to pip install into your own installation of that version of blender, then copy the OTIO installation into Blender's local script directory. This wouldn't be great for distribution to end users...

@reinecke
Copy link
Collaborator

reinecke commented Apr 1, 2020

This is something that might be solved using prebuilt wheels (see #666). I took a quick crack at trying to make prebuilt wheels on a Windows AWS instance but hit an issue where one wheel didn't quite look correct. This needs more troubleshooting than I quite have time to invest in right now (Windows building is a bit of a foreign environment to me).

@tin2tin is your blender install running python 3.7 64-bit? That specific wheel looked correct to me but I don't have a great way to test. I could try uploading it if you'd like to try it.

@meshula
Copy link
Collaborator

meshula commented Apr 7, 2020

@reinecke ---- the wheel is ALMOST good! Can you modify the installation so that opentimelineio.dll and opentime.dll install into C:\path-to\site-packages\opentimelineio instead of C:\path-to\site-packages\opentimelineio\cxx-libs\bin ? Setting up that relative path for python to find the dlls is a world of peril, and disallowed under Python 3.8 without adding explicit pathing code. Better to just avoid the complicatinos.

@meshula meshula mentioned this issue Apr 7, 2020
@stijncalis
Copy link

@meshula Indeed, moving them from cxx-libs/bin to opentimelineio did the trick. Wow, thanks for the fast response! Issue #681 is fixed :-)

@reinecke
Copy link
Collaborator

reinecke commented Apr 7, 2020

This part may be a little more in @ssteinbach's wheelhouse. Here is where it's setting that:
https://github.com/PixarAnimationStudios/OpenTimelineIO/blob/d63e2497e7b82df04e4405477a7e72eb6b98614c/setup.py#L89-L99

but it's using the PREFIX to do it, so I could move it up to C:\path-to\site-packages\opentimelineio but it would still sit in the bin dir under that. Is there a way to tell cmake to directly install the DLLs?

@meshula
Copy link
Collaborator

meshula commented Apr 7, 2020

We should remove cxx-libs from the join below, and for windows, don't use "bin" as a target, I think "." in quotes is correct. I'm on another task for a few hours, but if you wanna have a go....:

        else:
            if "--user" in sys.argv:
                cxxLibDir = os.path.abspath(
                    os.path.join(_ctx.install_usersite, "opentimelineio", "cxx-libs") <--- remove cxx-libs
                )
            else:
                cxxLibDir = os.path.abspath(
                    os.path.join(get_python_lib(), "opentimelineio", "cxx-libs") <--- remove cxx-libs
                )
            cmake_args += ['-DCMAKE_INSTALL_PREFIX=' + cxxLibDir,
                           '-DOTIO_CXX_NOINSTALL:BOOL=ON']

and here

install(TARGETS opentime
        RUNTIME DESTINATION bin <---- bin to ".", conditionalize install per platform
        LIBRARY DESTINATION lib)

@Celeborn2BeAlive
Copy link

For those interested, here is a script to generate the wheel on windows with the dlls moved at the correct location: https://gist.github.com/Celeborn2BeAlive/f6a475e863726d767a6a0669c692e90e (shell script that I run with git bash)

@tin2tin
Copy link
Author

tin2tin commented Nov 23, 2020

Unfortunately, the work on the wheel doesn't solve installing otio into the Bender python folder. Blender is run as admin and Cmake is installed - Windows 10:

C:\Windows\system32>C:\\Users\\45239\\Downloads\\blender-2.92.0-7bab87c119f4-windows64\\2.92\\python\\bin\\python.EXE -m pip install opentimelineio --user
Collecting opentimelineio
  Using cached OpenTimelineIO-0.13.0.tar.gz (2.0 MB)
Requirement already satisfied: pyaaf2==1.4.0 in c:\users\45239\appdata\roaming\python\python37\site-packages (from opentimelineio) (1.4.0)
Building wheels for collected packages: opentimelineio
  Building wheel for opentimelineio (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: 'C:\Users\45239\Downloads\blender-2.92.0-7bab87c119f4-windows64\2.92\python\bin\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\45239\\AppData\\Local\\Temp\\pip-install-eevaw7y9\\opentimelineio\\setup.py'"'"'; __file__='"'"'C:\\Users\\45239\\AppData\\Local\\Temp\\pip-install-eevaw7y9\\opentimelineio\\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\45239\AppData\Local\Temp\pip-wheel-428rgxa5'
       cwd: C:\Users\45239\AppData\Local\Temp\pip-install-eevaw7y9\opentimelineio\
  Complete output (172 lines):
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build\lib.win-amd64-3.7
  creating build\lib.win-amd64-3.7\opentimelineio
  copying src\py-opentimelineio\opentimelineio\exceptions.py -> build\lib.win-amd64-3.7\opentimelineio
  copying src\py-opentimelineio\opentimelineio\hooks.py -> build\lib.win-amd64-3.7\opentimelineio
  copying src\py-opentimelineio\opentimelineio\media_linker.py -> build\lib.win-amd64-3.7\opentimelineio
  copying src\py-opentimelineio\opentimelineio\opentime.py -> build\lib.win-amd64-3.7\opentimelineio
  copying src\py-opentimelineio\opentimelineio\test_utils.py -> build\lib.win-amd64-3.7\opentimelineio
  copying src\py-opentimelineio\opentimelineio\__init__.py -> build\lib.win-amd64-3.7\opentimelineio
  creating build\lib.win-amd64-3.7\opentimelineio\adapters
  copying src\py-opentimelineio\opentimelineio\adapters\adapter.py -> build\lib.win-amd64-3.7\opentimelineio\adapters
  copying src\py-opentimelineio\opentimelineio\adapters\cmx_3600.py -> build\lib.win-amd64-3.7\opentimelineio\adapters
  copying src\py-opentimelineio\opentimelineio\adapters\fcp_xml.py -> build\lib.win-amd64-3.7\opentimelineio\adapters
  copying src\py-opentimelineio\opentimelineio\adapters\otio_json.py -> build\lib.win-amd64-3.7\opentimelineio\adapters
  copying src\py-opentimelineio\opentimelineio\adapters\__init__.py -> build\lib.win-amd64-3.7\opentimelineio\adapters
  creating build\lib.win-amd64-3.7\opentimelineio\algorithms
  copying src\py-opentimelineio\opentimelineio\algorithms\filter.py -> build\lib.win-amd64-3.7\opentimelineio\algorithms
  copying src\py-opentimelineio\opentimelineio\algorithms\stack_algo.py -> build\lib.win-amd64-3.7\opentimelineio\algorithms
  copying src\py-opentimelineio\opentimelineio\algorithms\timeline_algo.py -> build\lib.win-amd64-3.7\opentimelineio\algorithms
  copying src\py-opentimelineio\opentimelineio\algorithms\track_algo.py -> build\lib.win-amd64-3.7\opentimelineio\algorithms
  copying src\py-opentimelineio\opentimelineio\algorithms\__init__.py -> build\lib.win-amd64-3.7\opentimelineio\algorithms
  creating build\lib.win-amd64-3.7\opentimelineio\console
  copying src\py-opentimelineio\opentimelineio\console\autogen_plugin_documentation.py -> build\lib.win-amd64-3.7\opentimelineio\console
  copying src\py-opentimelineio\opentimelineio\console\autogen_serialized_datamodel.py -> build\lib.win-amd64-3.7\opentimelineio\console
  copying src\py-opentimelineio\opentimelineio\console\console_utils.py -> build\lib.win-amd64-3.7\opentimelineio\console
  copying src\py-opentimelineio\opentimelineio\console\otiocat.py -> build\lib.win-amd64-3.7\opentimelineio\console
  copying src\py-opentimelineio\opentimelineio\console\otioconvert.py -> build\lib.win-amd64-3.7\opentimelineio\console
  copying src\py-opentimelineio\opentimelineio\console\otiopluginfo.py -> build\lib.win-amd64-3.7\opentimelineio\console
  copying src\py-opentimelineio\opentimelineio\console\otiostat.py -> build\lib.win-amd64-3.7\opentimelineio\console
  copying src\py-opentimelineio\opentimelineio\console\__init__.py -> build\lib.win-amd64-3.7\opentimelineio\console
  creating build\lib.win-amd64-3.7\opentimelineio\core
  copying src\py-opentimelineio\opentimelineio\core\composable.py -> build\lib.win-amd64-3.7\opentimelineio\core
  copying src\py-opentimelineio\opentimelineio\core\composition.py -> build\lib.win-amd64-3.7\opentimelineio\core
  copying src\py-opentimelineio\opentimelineio\core\item.py -> build\lib.win-amd64-3.7\opentimelineio\core
  copying src\py-opentimelineio\opentimelineio\core\mediaReference.py -> build\lib.win-amd64-3.7\opentimelineio\core
  copying src\py-opentimelineio\opentimelineio\core\_core_utils.py -> build\lib.win-amd64-3.7\opentimelineio\core
  copying src\py-opentimelineio\opentimelineio\core\__init__.py -> build\lib.win-amd64-3.7\opentimelineio\core
  creating build\lib.win-amd64-3.7\opentimelineio\plugins
  copying src\py-opentimelineio\opentimelineio\plugins\manifest.py -> build\lib.win-amd64-3.7\opentimelineio\plugins
  copying src\py-opentimelineio\opentimelineio\plugins\python_plugin.py -> build\lib.win-amd64-3.7\opentimelineio\plugins
  copying src\py-opentimelineio\opentimelineio\plugins\__init__.py -> build\lib.win-amd64-3.7\opentimelineio\plugins
  creating build\lib.win-amd64-3.7\opentimelineio\schema
  copying src\py-opentimelineio\opentimelineio\schema\clip.py -> build\lib.win-amd64-3.7\opentimelineio\schema
  copying src\py-opentimelineio\opentimelineio\schema\effect.py -> build\lib.win-amd64-3.7\opentimelineio\schema
  copying src\py-opentimelineio\opentimelineio\schema\external_reference.py -> build\lib.win-amd64-3.7\opentimelineio\schema
  copying src\py-opentimelineio\opentimelineio\schema\foo.py -> build\lib.win-amd64-3.7\opentimelineio\schema
  copying src\py-opentimelineio\opentimelineio\schema\generator_reference.py -> build\lib.win-amd64-3.7\opentimelineio\schema
  copying src\py-opentimelineio\opentimelineio\schema\image_sequence_reference.py -> build\lib.win-amd64-3.7\opentimelineio\schema
  copying src\py-opentimelineio\opentimelineio\schema\marker.py -> build\lib.win-amd64-3.7\opentimelineio\schema
  copying src\py-opentimelineio\opentimelineio\schema\schemadef.py -> build\lib.win-amd64-3.7\opentimelineio\schema
  copying src\py-opentimelineio\opentimelineio\schema\serializable_collection.py -> build\lib.win-amd64-3.7\opentimelineio\schema
  copying src\py-opentimelineio\opentimelineio\schema\stack.py -> build\lib.win-amd64-3.7\opentimelineio\schema
  copying src\py-opentimelineio\opentimelineio\schema\timeline.py -> build\lib.win-amd64-3.7\opentimelineio\schema
  copying src\py-opentimelineio\opentimelineio\schema\track.py -> build\lib.win-amd64-3.7\opentimelineio\schema
  copying src\py-opentimelineio\opentimelineio\schema\transition.py -> build\lib.win-amd64-3.7\opentimelineio\schema
  copying src\py-opentimelineio\opentimelineio\schema\__init__.py -> build\lib.win-amd64-3.7\opentimelineio\schema
  creating build\lib.win-amd64-3.7\opentimelineio\schemadef
  copying src\py-opentimelineio\opentimelineio\schemadef\__init__.py -> build\lib.win-amd64-3.7\opentimelineio\schemadef
  creating build\lib.win-amd64-3.7\opentimelineview
  copying src\opentimelineview\console.py -> build\lib.win-amd64-3.7\opentimelineview
  copying src\opentimelineview\details_widget.py -> build\lib.win-amd64-3.7\opentimelineview
  copying src\opentimelineview\ruler_widget.py -> build\lib.win-amd64-3.7\opentimelineview
  copying src\opentimelineview\settings.py -> build\lib.win-amd64-3.7\opentimelineview
  copying src\opentimelineview\timeline_widget.py -> build\lib.win-amd64-3.7\opentimelineview
  copying src\opentimelineview\track_widgets.py -> build\lib.win-amd64-3.7\opentimelineview
  copying src\opentimelineview\__init__.py -> build\lib.win-amd64-3.7\opentimelineview
  creating build\lib.win-amd64-3.7\opentimelineio_contrib
  copying contrib\opentimelineio_contrib\__init__.py -> build\lib.win-amd64-3.7\opentimelineio_contrib
  creating build\lib.win-amd64-3.7\opentimelineio_contrib\adapters
  copying contrib\opentimelineio_contrib\adapters\advanced_authoring_format.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\adapters
  copying contrib\opentimelineio_contrib\adapters\ale.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\adapters
  copying contrib\opentimelineio_contrib\adapters\burnins.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\adapters
  copying contrib\opentimelineio_contrib\adapters\extern_maya_sequencer.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\adapters
  copying contrib\opentimelineio_contrib\adapters\extern_rv.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\adapters
  copying contrib\opentimelineio_contrib\adapters\fcpx_xml.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\adapters
  copying contrib\opentimelineio_contrib\adapters\ffmpeg_burnins.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\adapters
  copying contrib\opentimelineio_contrib\adapters\hls_playlist.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\adapters
  copying contrib\opentimelineio_contrib\adapters\kdenlive.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\adapters
  copying contrib\opentimelineio_contrib\adapters\maya_sequencer.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\adapters
  copying contrib\opentimelineio_contrib\adapters\rv.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\adapters
  copying contrib\opentimelineio_contrib\adapters\xges.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\adapters
  copying contrib\opentimelineio_contrib\adapters\__init__.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\adapters
  creating build\lib.win-amd64-3.7\opentimelineio_contrib\adapters\aaf_adapter
  copying contrib\opentimelineio_contrib\adapters\aaf_adapter\aaf_writer.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\adapters\aaf_adapter
  copying contrib\opentimelineio_contrib\adapters\aaf_adapter\__init__.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\adapters\aaf_adapter
  running egg_info
  writing OpenTimelineIO.egg-info\PKG-INFO
  writing dependency_links to OpenTimelineIO.egg-info\dependency_links.txt
  writing entry points to OpenTimelineIO.egg-info\entry_points.txt
  writing requirements to OpenTimelineIO.egg-info\requires.txt
  writing top-level names to OpenTimelineIO.egg-info\top_level.txt
  reading manifest file 'OpenTimelineIO.egg-info\SOURCES.txt'
  reading manifest template 'MANIFEST.in'
  warning: no files found matching 'CHANGELOG.md'
  no previously-included directories found matching '.github'
  no previously-included directories found matching 'docs'
  warning: no previously-included files found matching '.gitmodules'
  warning: no previously-included files matching '*.git' found under directory 'src'
  warning: no previously-included files found matching '.readthedocs.yml'
  warning: no previously-included files found matching 'readthedocs-conda.yml'
  warning: no previously-included files found matching '.codecov.yml'
  warning: no previously-included files found matching '.gitlab-ci.yml'
  warning: no previously-included files found matching '.travis.yml'
  warning: no previously-included files found matching '*.pdf'
  warning: no previously-included files found matching 'CODE_OF_CONDUCT.md'
  warning: no previously-included files found matching 'CONTRIBUTING.md'
  warning: no previously-included files found matching 'CONTRIBUTORS.md'
  warning: no previously-included files found matching 'contrib\opentimelineio_contrib\adapters\Makefile'
  warning: no previously-included files found matching 'Makefile'
  no previously-included directories found matching 'contrib\opentimelineio_contrib\adapters\tests'
  no previously-included directories found matching 'maintainers'
  no previously-included directories found matching 'tests'
  no previously-included directories found matching 'src\deps\pybind11\tools\clang'
  no previously-included directories found matching 'src\deps\rapidjson\thirdparty'
  writing manifest file 'OpenTimelineIO.egg-info\SOURCES.txt'
  copying src\py-opentimelineio\opentimelineio\adapters\builtin_adapters.plugin_manifest.json -> build\lib.win-amd64-3.7\opentimelineio\adapters
  creating build\lib.win-amd64-3.7\opentimelineio_contrib\application_plugins
  creating build\lib.win-amd64-3.7\opentimelineio_contrib\application_plugins\rv
  creating build\lib.win-amd64-3.7\opentimelineio_contrib\application_plugins\rv\example_otio_reader
  copying contrib\opentimelineio_contrib\application_plugins\rv\example_otio_reader\PACKAGE -> build\lib.win-amd64-3.7\opentimelineio_contrib\application_plugins\rv\example_otio_reader
  copying contrib\opentimelineio_contrib\application_plugins\rv\example_otio_reader\example_otio_reader_plugin.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\application_plugins\rv\example_otio_reader
  copying contrib\opentimelineio_contrib\application_plugins\rv\example_otio_reader\otio_reader.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\application_plugins\rv\example_otio_reader
  creating build\lib.win-amd64-3.7\opentimelineio_contrib\application_plugins\tests
  copying contrib\opentimelineio_contrib\application_plugins\tests\__init__.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\application_plugins\tests
  copying contrib\opentimelineio_contrib\application_plugins\tests\test_rv_reader.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\application_plugins\tests
  copying contrib\opentimelineio_contrib\adapters\contrib_adapters.plugin_manifest.json -> build\lib.win-amd64-3.7\opentimelineio_contrib\adapters
  running build_ext
  Traceback (most recent call last):
    File "C:\Users\45239\AppData\Local\Temp\pip-install-eevaw7y9\opentimelineio\setup.py", line 171, in run
      out = subprocess.check_output(['cmake', '--version'])
    File "C:\Users\45239\Downloads\blender-2.92.0-7bab87c119f4-windows64\2.92\python\lib\subprocess.py", line 411, in check_output
      **kwargs).stdout
    File "C:\Users\45239\Downloads\blender-2.92.0-7bab87c119f4-windows64\2.92\python\lib\subprocess.py", line 488, in run
      with Popen(*popenargs, **kwargs) as process:
    File "C:\Users\45239\Downloads\blender-2.92.0-7bab87c119f4-windows64\2.92\python\lib\subprocess.py", line 800, in __init__
      restore_signals, start_new_session)
    File "C:\Users\45239\Downloads\blender-2.92.0-7bab87c119f4-windows64\2.92\python\lib\subprocess.py", line 1207, in _execute_child
      startupinfo)
  FileNotFoundError: [WinError 2] Den angivne fil blev ikke fundet

  During handling of the above exception, another exception occurred:

  Traceback (most recent call last):
    File "<string>", line 1, in <module>
    File "C:\Users\45239\AppData\Local\Temp\pip-install-eevaw7y9\opentimelineio\setup.py", line 466, in <module>
      **PROJECT_METADATA
    File "C:\Users\45239\Downloads\blender-2.92.0-7bab87c119f4-windows64\2.92\python\lib\site-packages\setuptools\__init__.py", line 145, in setup
      return distutils.core.setup(**attrs)
    File "C:\Users\45239\Downloads\blender-2.92.0-7bab87c119f4-windows64\2.92\python\lib\distutils\core.py", line 148, in setup
      dist.run_commands()
    File "C:\Users\45239\Downloads\blender-2.92.0-7bab87c119f4-windows64\2.92\python\lib\distutils\dist.py", line 966, in run_commands
      self.run_command(cmd)
    File "C:\Users\45239\Downloads\blender-2.92.0-7bab87c119f4-windows64\2.92\python\lib\distutils\dist.py", line 985, in run_command
      cmd_obj.run()
    File "C:\Users\45239\AppData\Roaming\Python\Python37\site-packages\wheel\bdist_wheel.py", line 290, in run
      self.run_command('build')
    File "C:\Users\45239\Downloads\blender-2.92.0-7bab87c119f4-windows64\2.92\python\lib\distutils\cmd.py", line 313, in run_command
      self.distribution.run_command(command)
    File "C:\Users\45239\Downloads\blender-2.92.0-7bab87c119f4-windows64\2.92\python\lib\distutils\dist.py", line 985, in run_command
      cmd_obj.run()
    File "C:\Users\45239\Downloads\blender-2.92.0-7bab87c119f4-windows64\2.92\python\lib\distutils\command\build.py", line 135, in run
      self.run_command(cmd_name)
    File "C:\Users\45239\Downloads\blender-2.92.0-7bab87c119f4-windows64\2.92\python\lib\distutils\cmd.py", line 313, in run_command
      self.distribution.run_command(command)
    File "C:\Users\45239\Downloads\blender-2.92.0-7bab87c119f4-windows64\2.92\python\lib\distutils\dist.py", line 985, in run_command
      cmd_obj.run()
    File "C:\Users\45239\AppData\Local\Temp\pip-install-eevaw7y9\opentimelineio\setup.py", line 175, in run
      + ", ".join(e.name for e in self.extensions)
  RuntimeError: CMake must be installed to build the following extensions: _opentimelineio, _opentime
  ----------------------------------------
  ERROR: Failed building wheel for opentimelineio
  Running setup.py clean for opentimelineio
Failed to build opentimelineio
Installing collected packages: opentimelineio
    Running setup.py install for opentimelineio ... error
    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\45239\Downloads\blender-2.92.0-7bab87c119f4-windows64\2.92\python\bin\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\45239\\AppData\\Local\\Temp\\pip-install-eevaw7y9\\opentimelineio\\setup.py'"'"'; __file__='"'"'C:\\Users\\45239\\AppData\\Local\\Temp\\pip-install-eevaw7y9\\opentimelineio\\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\45239\AppData\Local\Temp\pip-record-4_24_exz\install-record.txt' --single-version-externally-managed --user --prefix= --compile --install-headers 'C:\Users\45239\AppData\Roaming\Python\Python37\Include\opentimelineio'
         cwd: C:\Users\45239\AppData\Local\Temp\pip-install-eevaw7y9\opentimelineio\
    Complete output (176 lines):
    running install
    running build
    running build_py
    creating build
    creating build\lib.win-amd64-3.7
    creating build\lib.win-amd64-3.7\opentimelineio
    copying src\py-opentimelineio\opentimelineio\exceptions.py -> build\lib.win-amd64-3.7\opentimelineio
    copying src\py-opentimelineio\opentimelineio\hooks.py -> build\lib.win-amd64-3.7\opentimelineio
    copying src\py-opentimelineio\opentimelineio\media_linker.py -> build\lib.win-amd64-3.7\opentimelineio
    copying src\py-opentimelineio\opentimelineio\opentime.py -> build\lib.win-amd64-3.7\opentimelineio
    copying src\py-opentimelineio\opentimelineio\test_utils.py -> build\lib.win-amd64-3.7\opentimelineio
    copying src\py-opentimelineio\opentimelineio\__init__.py -> build\lib.win-amd64-3.7\opentimelineio
    creating build\lib.win-amd64-3.7\opentimelineio\adapters
    copying src\py-opentimelineio\opentimelineio\adapters\adapter.py -> build\lib.win-amd64-3.7\opentimelineio\adapters
    copying src\py-opentimelineio\opentimelineio\adapters\cmx_3600.py -> build\lib.win-amd64-3.7\opentimelineio\adapters
    copying src\py-opentimelineio\opentimelineio\adapters\fcp_xml.py -> build\lib.win-amd64-3.7\opentimelineio\adapters
    copying src\py-opentimelineio\opentimelineio\adapters\otio_json.py -> build\lib.win-amd64-3.7\opentimelineio\adapters
    copying src\py-opentimelineio\opentimelineio\adapters\__init__.py -> build\lib.win-amd64-3.7\opentimelineio\adapters
    creating build\lib.win-amd64-3.7\opentimelineio\algorithms
    copying src\py-opentimelineio\opentimelineio\algorithms\filter.py -> build\lib.win-amd64-3.7\opentimelineio\algorithms
    copying src\py-opentimelineio\opentimelineio\algorithms\stack_algo.py -> build\lib.win-amd64-3.7\opentimelineio\algorithms
    copying src\py-opentimelineio\opentimelineio\algorithms\timeline_algo.py -> build\lib.win-amd64-3.7\opentimelineio\algorithms
    copying src\py-opentimelineio\opentimelineio\algorithms\track_algo.py -> build\lib.win-amd64-3.7\opentimelineio\algorithms
    copying src\py-opentimelineio\opentimelineio\algorithms\__init__.py -> build\lib.win-amd64-3.7\opentimelineio\algorithms
    creating build\lib.win-amd64-3.7\opentimelineio\console
    copying src\py-opentimelineio\opentimelineio\console\autogen_plugin_documentation.py -> build\lib.win-amd64-3.7\opentimelineio\console
    copying src\py-opentimelineio\opentimelineio\console\autogen_serialized_datamodel.py -> build\lib.win-amd64-3.7\opentimelineio\console
    copying src\py-opentimelineio\opentimelineio\console\console_utils.py -> build\lib.win-amd64-3.7\opentimelineio\console
    copying src\py-opentimelineio\opentimelineio\console\otiocat.py -> build\lib.win-amd64-3.7\opentimelineio\console
    copying src\py-opentimelineio\opentimelineio\console\otioconvert.py -> build\lib.win-amd64-3.7\opentimelineio\console
    copying src\py-opentimelineio\opentimelineio\console\otiopluginfo.py -> build\lib.win-amd64-3.7\opentimelineio\console
    copying src\py-opentimelineio\opentimelineio\console\otiostat.py -> build\lib.win-amd64-3.7\opentimelineio\console
    copying src\py-opentimelineio\opentimelineio\console\__init__.py -> build\lib.win-amd64-3.7\opentimelineio\console
    creating build\lib.win-amd64-3.7\opentimelineio\core
    copying src\py-opentimelineio\opentimelineio\core\composable.py -> build\lib.win-amd64-3.7\opentimelineio\core
    copying src\py-opentimelineio\opentimelineio\core\composition.py -> build\lib.win-amd64-3.7\opentimelineio\core
    copying src\py-opentimelineio\opentimelineio\core\item.py -> build\lib.win-amd64-3.7\opentimelineio\core
    copying src\py-opentimelineio\opentimelineio\core\mediaReference.py -> build\lib.win-amd64-3.7\opentimelineio\core
    copying src\py-opentimelineio\opentimelineio\core\_core_utils.py -> build\lib.win-amd64-3.7\opentimelineio\core
    copying src\py-opentimelineio\opentimelineio\core\__init__.py -> build\lib.win-amd64-3.7\opentimelineio\core
    creating build\lib.win-amd64-3.7\opentimelineio\plugins
    copying src\py-opentimelineio\opentimelineio\plugins\manifest.py -> build\lib.win-amd64-3.7\opentimelineio\plugins
    copying src\py-opentimelineio\opentimelineio\plugins\python_plugin.py -> build\lib.win-amd64-3.7\opentimelineio\plugins
    copying src\py-opentimelineio\opentimelineio\plugins\__init__.py -> build\lib.win-amd64-3.7\opentimelineio\plugins
    creating build\lib.win-amd64-3.7\opentimelineio\schema
    copying src\py-opentimelineio\opentimelineio\schema\clip.py -> build\lib.win-amd64-3.7\opentimelineio\schema
    copying src\py-opentimelineio\opentimelineio\schema\effect.py -> build\lib.win-amd64-3.7\opentimelineio\schema
    copying src\py-opentimelineio\opentimelineio\schema\external_reference.py -> build\lib.win-amd64-3.7\opentimelineio\schema
    copying src\py-opentimelineio\opentimelineio\schema\foo.py -> build\lib.win-amd64-3.7\opentimelineio\schema
    copying src\py-opentimelineio\opentimelineio\schema\generator_reference.py -> build\lib.win-amd64-3.7\opentimelineio\schema
    copying src\py-opentimelineio\opentimelineio\schema\image_sequence_reference.py -> build\lib.win-amd64-3.7\opentimelineio\schema
    copying src\py-opentimelineio\opentimelineio\schema\marker.py -> build\lib.win-amd64-3.7\opentimelineio\schema
    copying src\py-opentimelineio\opentimelineio\schema\schemadef.py -> build\lib.win-amd64-3.7\opentimelineio\schema
    copying src\py-opentimelineio\opentimelineio\schema\serializable_collection.py -> build\lib.win-amd64-3.7\opentimelineio\schema
    copying src\py-opentimelineio\opentimelineio\schema\stack.py -> build\lib.win-amd64-3.7\opentimelineio\schema
    copying src\py-opentimelineio\opentimelineio\schema\timeline.py -> build\lib.win-amd64-3.7\opentimelineio\schema
    copying src\py-opentimelineio\opentimelineio\schema\track.py -> build\lib.win-amd64-3.7\opentimelineio\schema
    copying src\py-opentimelineio\opentimelineio\schema\transition.py -> build\lib.win-amd64-3.7\opentimelineio\schema
    copying src\py-opentimelineio\opentimelineio\schema\__init__.py -> build\lib.win-amd64-3.7\opentimelineio\schema
    creating build\lib.win-amd64-3.7\opentimelineio\schemadef
    copying src\py-opentimelineio\opentimelineio\schemadef\__init__.py -> build\lib.win-amd64-3.7\opentimelineio\schemadef
    creating build\lib.win-amd64-3.7\opentimelineview
    copying src\opentimelineview\console.py -> build\lib.win-amd64-3.7\opentimelineview
    copying src\opentimelineview\details_widget.py -> build\lib.win-amd64-3.7\opentimelineview
    copying src\opentimelineview\ruler_widget.py -> build\lib.win-amd64-3.7\opentimelineview
    copying src\opentimelineview\settings.py -> build\lib.win-amd64-3.7\opentimelineview
    copying src\opentimelineview\timeline_widget.py -> build\lib.win-amd64-3.7\opentimelineview
    copying src\opentimelineview\track_widgets.py -> build\lib.win-amd64-3.7\opentimelineview
    copying src\opentimelineview\__init__.py -> build\lib.win-amd64-3.7\opentimelineview
    creating build\lib.win-amd64-3.7\opentimelineio_contrib
    copying contrib\opentimelineio_contrib\__init__.py -> build\lib.win-amd64-3.7\opentimelineio_contrib
    creating build\lib.win-amd64-3.7\opentimelineio_contrib\adapters
    copying contrib\opentimelineio_contrib\adapters\advanced_authoring_format.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\adapters
    copying contrib\opentimelineio_contrib\adapters\ale.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\adapters
    copying contrib\opentimelineio_contrib\adapters\burnins.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\adapters
    copying contrib\opentimelineio_contrib\adapters\extern_maya_sequencer.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\adapters
    copying contrib\opentimelineio_contrib\adapters\extern_rv.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\adapters
    copying contrib\opentimelineio_contrib\adapters\fcpx_xml.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\adapters
    copying contrib\opentimelineio_contrib\adapters\ffmpeg_burnins.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\adapters
    copying contrib\opentimelineio_contrib\adapters\hls_playlist.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\adapters
    copying contrib\opentimelineio_contrib\adapters\kdenlive.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\adapters
    copying contrib\opentimelineio_contrib\adapters\maya_sequencer.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\adapters
    copying contrib\opentimelineio_contrib\adapters\rv.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\adapters
    copying contrib\opentimelineio_contrib\adapters\xges.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\adapters
    copying contrib\opentimelineio_contrib\adapters\__init__.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\adapters
    creating build\lib.win-amd64-3.7\opentimelineio_contrib\adapters\aaf_adapter
    copying contrib\opentimelineio_contrib\adapters\aaf_adapter\aaf_writer.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\adapters\aaf_adapter
    copying contrib\opentimelineio_contrib\adapters\aaf_adapter\__init__.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\adapters\aaf_adapter
    running egg_info
    writing OpenTimelineIO.egg-info\PKG-INFO
    writing dependency_links to OpenTimelineIO.egg-info\dependency_links.txt
    writing entry points to OpenTimelineIO.egg-info\entry_points.txt
    writing requirements to OpenTimelineIO.egg-info\requires.txt
    writing top-level names to OpenTimelineIO.egg-info\top_level.txt
    reading manifest file 'OpenTimelineIO.egg-info\SOURCES.txt'
    reading manifest template 'MANIFEST.in'
    warning: no files found matching 'CHANGELOG.md'
    no previously-included directories found matching '.github'
    no previously-included directories found matching 'docs'
    warning: no previously-included files found matching '.gitmodules'
    warning: no previously-included files matching '*.git' found under directory 'src'
    warning: no previously-included files found matching '.readthedocs.yml'
    warning: no previously-included files found matching 'readthedocs-conda.yml'
    warning: no previously-included files found matching '.codecov.yml'
    warning: no previously-included files found matching '.gitlab-ci.yml'
    warning: no previously-included files found matching '.travis.yml'
    warning: no previously-included files found matching '*.pdf'
    warning: no previously-included files found matching 'CODE_OF_CONDUCT.md'
    warning: no previously-included files found matching 'CONTRIBUTING.md'
    warning: no previously-included files found matching 'CONTRIBUTORS.md'
    warning: no previously-included files found matching 'contrib\opentimelineio_contrib\adapters\Makefile'
    warning: no previously-included files found matching 'Makefile'
    no previously-included directories found matching 'contrib\opentimelineio_contrib\adapters\tests'
    no previously-included directories found matching 'maintainers'
    no previously-included directories found matching 'tests'
    no previously-included directories found matching 'src\deps\pybind11\tools\clang'
    no previously-included directories found matching 'src\deps\rapidjson\thirdparty'
    writing manifest file 'OpenTimelineIO.egg-info\SOURCES.txt'
    copying src\py-opentimelineio\opentimelineio\adapters\builtin_adapters.plugin_manifest.json -> build\lib.win-amd64-3.7\opentimelineio\adapters
    creating build\lib.win-amd64-3.7\opentimelineio_contrib\application_plugins
    creating build\lib.win-amd64-3.7\opentimelineio_contrib\application_plugins\rv
    creating build\lib.win-amd64-3.7\opentimelineio_contrib\application_plugins\rv\example_otio_reader
    copying contrib\opentimelineio_contrib\application_plugins\rv\example_otio_reader\PACKAGE -> build\lib.win-amd64-3.7\opentimelineio_contrib\application_plugins\rv\example_otio_reader
    copying contrib\opentimelineio_contrib\application_plugins\rv\example_otio_reader\example_otio_reader_plugin.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\application_plugins\rv\example_otio_reader
    copying contrib\opentimelineio_contrib\application_plugins\rv\example_otio_reader\otio_reader.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\application_plugins\rv\example_otio_reader
    creating build\lib.win-amd64-3.7\opentimelineio_contrib\application_plugins\tests
    copying contrib\opentimelineio_contrib\application_plugins\tests\__init__.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\application_plugins\tests
    copying contrib\opentimelineio_contrib\application_plugins\tests\test_rv_reader.py -> build\lib.win-amd64-3.7\opentimelineio_contrib\application_plugins\tests
    copying contrib\opentimelineio_contrib\adapters\contrib_adapters.plugin_manifest.json -> build\lib.win-amd64-3.7\opentimelineio_contrib\adapters
    running build_ext
    Traceback (most recent call last):
      File "C:\Users\45239\AppData\Local\Temp\pip-install-eevaw7y9\opentimelineio\setup.py", line 171, in run
        out = subprocess.check_output(['cmake', '--version'])
      File "C:\Users\45239\Downloads\blender-2.92.0-7bab87c119f4-windows64\2.92\python\lib\subprocess.py", line 411, in check_output
        **kwargs).stdout
      File "C:\Users\45239\Downloads\blender-2.92.0-7bab87c119f4-windows64\2.92\python\lib\subprocess.py", line 488, in run
        with Popen(*popenargs, **kwargs) as process:
      File "C:\Users\45239\Downloads\blender-2.92.0-7bab87c119f4-windows64\2.92\python\lib\subprocess.py", line 800, in __init__
        restore_signals, start_new_session)
      File "C:\Users\45239\Downloads\blender-2.92.0-7bab87c119f4-windows64\2.92\python\lib\subprocess.py", line 1207, in _execute_child
        startupinfo)
    FileNotFoundError: [WinError 2] Den angivne fil blev ikke fundet

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Users\45239\AppData\Local\Temp\pip-install-eevaw7y9\opentimelineio\setup.py", line 466, in <module>
        **PROJECT_METADATA
      File "C:\Users\45239\Downloads\blender-2.92.0-7bab87c119f4-windows64\2.92\python\lib\site-packages\setuptools\__init__.py", line 145, in setup
        return distutils.core.setup(**attrs)
      File "C:\Users\45239\Downloads\blender-2.92.0-7bab87c119f4-windows64\2.92\python\lib\distutils\core.py", line 148, in setup
        dist.run_commands()
      File "C:\Users\45239\Downloads\blender-2.92.0-7bab87c119f4-windows64\2.92\python\lib\distutils\dist.py", line 966, in run_commands
        self.run_command(cmd)
      File "C:\Users\45239\Downloads\blender-2.92.0-7bab87c119f4-windows64\2.92\python\lib\distutils\dist.py", line 985, in run_command
        cmd_obj.run()
      File "C:\Users\45239\AppData\Local\Temp\pip-install-eevaw7y9\opentimelineio\setup.py", line 140, in run
        install.run(self)
      File "C:\Users\45239\Downloads\blender-2.92.0-7bab87c119f4-windows64\2.92\python\lib\site-packages\setuptools\command\install.py", line 61, in run
        return orig.install.run(self)
      File "C:\Users\45239\Downloads\blender-2.92.0-7bab87c119f4-windows64\2.92\python\lib\distutils\command\install.py", line 545, in run
        self.run_command('build')
      File "C:\Users\45239\Downloads\blender-2.92.0-7bab87c119f4-windows64\2.92\python\lib\distutils\cmd.py", line 313, in run_command
        self.distribution.run_command(command)
      File "C:\Users\45239\Downloads\blender-2.92.0-7bab87c119f4-windows64\2.92\python\lib\distutils\dist.py", line 985, in run_command
        cmd_obj.run()
      File "C:\Users\45239\Downloads\blender-2.92.0-7bab87c119f4-windows64\2.92\python\lib\distutils\command\build.py", line 135, in run
        self.run_command(cmd_name)
      File "C:\Users\45239\Downloads\blender-2.92.0-7bab87c119f4-windows64\2.92\python\lib\distutils\cmd.py", line 313, in run_command
        self.distribution.run_command(command)
      File "C:\Users\45239\Downloads\blender-2.92.0-7bab87c119f4-windows64\2.92\python\lib\distutils\dist.py", line 985, in run_command
        cmd_obj.run()
      File "C:\Users\45239\AppData\Local\Temp\pip-install-eevaw7y9\opentimelineio\setup.py", line 175, in run
        + ", ".join(e.name for e in self.extensions)
    RuntimeError: CMake must be installed to build the following extensions: _opentimelineio, _opentime
    ----------------------------------------
ERROR: Command errored out with exit status 1: 'C:\Users\45239\Downloads\blender-2.92.0-7bab87c119f4-windows64\2.92\python\bin\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\45239\\AppData\\Local\\Temp\\pip-install-eevaw7y9\\opentimelineio\\setup.py'"'"'; __file__='"'"'C:\\Users\\45239\\AppData\\Local\\Temp\\pip-install-eevaw7y9\\opentimelineio\\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\45239\AppData\Local\Temp\pip-record-4_24_exz\install-record.txt' --single-version-externally-managed --user --prefix= --compile --install-headers 'C:\Users\45239\AppData\Roaming\Python\Python37\Include\opentimelineio' Check the logs for full command output.

@Celeborn2BeAlive
Copy link

Celeborn2BeAlive commented Nov 24, 2020

@tin2tin You are not installing the wheel here, you are installing opentimelineio directly and pip is trying to build a wheel out of the source distribution, since no wheel is provided for windows on pypi (https://pypi.org/project/OpenTimelineIO/#files).

Try with this pre-built wheel (otio v0.13.0): https://drive.google.com/file/d/1W74dDldQ1Y3SsdrWeWa2s6BNipKT4nSu/view?usp=sharing

Once downloaded in C:\\Users\\45239\\Downloads\\ use:

C:\Windows\system32>C:\\Users\\45239\\Downloads\\blender-2.92.0-7bab87c119f4-windows64\\2.92\\python\\bin\\python.EXE -m pip install C:\\Users\\45239\\Downloads\\OpenTimelineIO-0.13.0-cp37-cp37m-win_amd64.whl --user

@tin2tin
Copy link
Author

tin2tin commented Nov 24, 2020

Thank you for sharing this. Sounds like it is just a matter of making it avalible for Windows users too on pypi? That would be so great!

Unfortunately, I'm getting an "This app can't run on your pc" error, but I guess it is because I'm on Intel and it is an AMD build?

Oh, it says the same thing when just running python - I'm on a new computer - I'll need to investigate.

The python dll file in the Blender install was damaged - 0k.

Installing the wheel in a different Blender installation worked:

Processing c:\users\45239\downloads\opentimelineio-0.13.0-cp37-cp37m-win_amd64.whl
Requirement already satisfied: pyaaf2==1.4.0 in c:\users\45239\appdata\roaming\python\python37\site-packages (from OpenTimelineIO==0.13.0) (1.4.0)
Installing collected packages: OpenTimelineIO
  WARNING: The scripts otioautogen_serialized_schema_docs.exe, otiocat.exe, otioconvert.exe, otiopluginfo.exe, otiostat.exe and otioview.exe are installed in 'C:\Users\45239\AppData\Roaming\Python\Python37\Scripts' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed OpenTimelineIO-0.13.0
WARNING: You are using pip version 19.2.3, however version 20.2.4 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.```

@tin2tin
Copy link
Author

tin2tin commented Nov 25, 2020

@Celeborn2BeAlive Is it possible for you to upload it to pypi? I know it is not the latest version, but it is still better than just getting an error, when trying to install as described in the otio readme.

Is otioview working in your wheel? From a command line I try otioview "full_path_to_my_file\my_file.edl", but unsuccessfully? otioview is not found.

@Celeborn2BeAlive
Copy link

@tin2tin I don't have upload rights to do that, but @ssteinbach could do it I guess

@darkvertex
Copy link

Not sure if this ticket is the right place for this, but I noticed when doing python3.7 setup.py bdist_wheel (from the v0.13 git tag) that even though it appears the process ended without errors for me, it looks like it installed dlls in site-packages, even though I did not ask it to install, I only wanted the .whl:

  -- Install configuration: "Release"
  -- Installing: C:/Python37/Lib/site-packages/opentimelineio/cxx-libs/bin/opentime.dll
  -- Installing: C:/Python37/Lib/site-packages/opentimelineio/cxx-libs/bin/opentimelineio.dll
  -- Installing: C:/Users/alan/repos/OpenTimelineIO/build/lib.win-amd64-3.7/opentimelineio/_opentime.cp37-win_amd64.pyd
  -- Installing: C:/Users/alan/repos/OpenTimelineIO/build/lib.win-amd64-3.7/opentimelineio/_otio.cp37-win_amd64.pyd

The resulting .whl was only ~500KB and does not contain any .dll's so I'm pretty sure it's incomplete. (Was the PR #853 to fix this?)

@meshula
Copy link
Collaborator

meshula commented May 29, 2021

The conversation is underway in the PR meant to fix these issues: #957

@lgmventura
Copy link

Any updates on this issue? It also doesn't install on Linux, using pip in Blender. :(

@reinecke
Copy link
Collaborator

reinecke commented Aug 5, 2021

@lgmventura Would you mind trying this command to install our new test wheels (from issue #1015):
pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple opentimelineio==0.14.0dev1

We've been working to improve the availability of pre-built wheels which addresses build issues for a lot of users. Please let us know if this works for you.

@lgmventura
Copy link

@reinecke it works! Thank you so much.

@reinecke
Copy link
Collaborator

reinecke commented Aug 6, 2021

@lgmventura Good to hear! This is how our official builds in pypi will be set up for 0.14.0 when we release.

@meshula meshula added this to the Public Beta 14 milestone Aug 7, 2021
@JeanChristopheMorinPerso
Copy link
Member

Hi @lgmventura, thanks for taking some time to test the wheels! For posterity, can you tell us which platforms and python versions you tested on please?

@lgmventura
Copy link

Hi @JeanChristopheMorinPerso, sure!
Platform: Ubuntu 20.04.
Python version: 3.9, which comes with Blender 2.93.0. Pip installed there through Python itself, using the script get-pip.py.

@JeanChristopheMorinPerso
Copy link
Member

JeanChristopheMorinPerso commented Aug 15, 2021

Thanks for the info. FYI we don't compile wheels for Python 3.9 yet, which means that you basically didn't use wheels and so OTIO was compiled on your computer when you called pip install. Also pip probably fallback'ed to https://pypi.org/simple in your case which means you might have installed OTIO 0.13.0. Could you run <path to installed pip> show opentimelineio and verify which version got installed please?

@Tilix4
Copy link
Contributor

Tilix4 commented Aug 23, 2021

Python headers will be included into Blender's build: https://developer.blender.org/D12228

@tin2tin
Copy link
Author

tin2tin commented Sep 24, 2021

@meshula An update including the win wheel is still missing from pypi.org?

@meshula meshula reopened this Sep 24, 2021
@meshula
Copy link
Collaborator

meshula commented Sep 24, 2021

Thanks for noticing that. We have issues being automatically closed if a PR mentions them. Probably an undesirable feature...

The good news is we have the ability to make wheels as of yesterday, thanks @JeanChristopheMorinPerso, but we haven't published any yet.

@ssteinbach
Copy link
Collaborator

I think this will happen once we make a new release, we typically don't put the head revision on pypi.

@JeanChristopheMorinPerso
Copy link
Member

Next steps are (if I'm not mistaken):

  • Add support for Python 3.9 (and so 3.9 wheels) (Python 3.9 Support #828). This work has already been started by me and the main issue that was blocking progress has been solved last week. So the rest of the work will be quick and I'm planning to look at that this weekend.
  • Hook GitHub releases into GitHub actions so that wheels are uploaded to PyPI on releases (PyPI Publish github action #988).

I'll take a note to notify this issue when we have wheels in PyPI.

@ssteinbach ssteinbach changed the title Can't install with pip Can't install with pip (on windows) Oct 22, 2021
@ssteinbach ssteinbach changed the title Can't install with pip (on windows) Can't install with pip (on windows, in blender) Oct 22, 2021
@ssteinbach
Copy link
Collaborator

Closed by #988

when we make a release, windows wheels will be available. Please feel free to reopen this after the release of v0.14 if this issue is not resolved at that point.

@JeanChristopheMorinPerso
Copy link
Member

@tin2tin, @JerryKon, @Tilix4, @lgmventura, @darkvertex, @Celeborn2BeAlive, @stijncalis OTIO 0.14.0 is now available and instalable with pip as of today.

Wheels are available for Python 2.7, 3.7, 3.8 and 3.9 for all platforms (Linux, Windows and macOS). So this basically means you will be able to install OTIO on Windows and get it to work in Blender :)

@Tilix4
Copy link
Contributor

Tilix4 commented Nov 2, 2021

Very nice! Thank you very much for your work!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build issues building OTIO cmake issues with the cmake scripts wheels
Projects
None yet
10 participants