Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

OpenCV build for Windows x64/Python3.7 from source. Where is the .pyd file?

CMake is AFAICT correctly configured and producing the usual .DLL files in build/bin/Debug (as that is the configuration I'd like). The settings for Python3 have the correct directories and BUILD_XXX settings

CMake settings

The only relevant Python stuff I can find is in build/python_loader which has a setup.py file as I'd expect. Running this produces 'opencv\build\python_loader\dist\opencv-4.2.0-py3.7.egg' but no .pyd file. It is installing to the correct directory but the all important DLL file is missing.

So: How does the .pyd file get produced? Which stage of the build?

MTIA.

[running build_py
creating build\bdist.win-amd64\egg
creating build\bdist.win-amd64\egg\cv2
copying build\lib\cv2\config.py -> build\bdist.win-amd64\egg\cv2
copying build\lib\cv2\load_config_py2.py -> build\bdist.win-amd64\egg\cv2
copying build\lib\cv2\load_config_py3.py -> build\bdist.win-amd64\egg\cv2
copying build\lib\cv2\__init__.py -> build\bdist.win-amd64\egg\cv2
byte-compiling build\bdist.win-amd64\egg\cv2\config.py to config.cpython-37.pyc
byte-compiling build\bdist.win-amd64\egg\cv2\load_config_py2.py to load_config_py2.cpython-37.pyc
byte-compiling build\bdist.win-amd64\egg\cv2\load_config_py3.py to load_config_py3.cpython-37.pyc
byte-compiling build\bdist.win-amd64\egg\cv2\__init__.py to __init__.cpython-37.pyc
creating build\bdist.win-amd64\egg\EGG-INFO
copying opencv.egg-info\PKG-INFO -> build\bdist.win-amd64\egg\EGG-INFO
copying opencv.egg-info\SOURCES.txt -> build\bdist.win-amd64\egg\EGG-INFO
copying opencv.egg-info\dependency_links.txt -> build\bdist.win-amd64\egg\EGG-INFO
copying opencv.egg-info\requires.txt -> build\bdist.win-amd64\egg\EGG-INFO
copying opencv.egg-info\top_level.txt -> build\bdist.win-amd64\egg\EGG-INFO
zip_safe flag not set; analyzing archive contents...
cv2.__pycache__.__init__.cpython-37: module references __file__
creating 'dist\opencv-4.2.0-py3.7.egg' and adding 'build\bdist.win-amd64\egg' to it
removing 'build\bdist.win-amd64\egg' (and everything under it)
Processing opencv-4.2.0-py3.7.egg
removing 'r:\apps\python3\lib\site-packages\opencv-4.2.0-py3.7.egg' (and everything under it)
creating r:\apps\python3\lib\site-packages\opencv-4.2.0-py3.7.egg
Extracting opencv-4.2.0-py3.7.egg to r:\apps\python3\lib\site-packages
opencv 4.2.0 is already the active version in easy-install.pth

Installed r:\apps\python3\lib\site-packages\opencv-4.2.0-py3.7.egg
Processing dependencies for opencv==4.2.0
Searching for numpy==1.19.0.dev0+bf6859c
Best match: numpy 1.19.0.dev0+bf6859c
Processing numpy-1.19.0.dev0+bf6859c-py3.7-win-amd64.egg
numpy 1.19.0.dev0+bf6859c is already the active version in easy-install.pth
Installing f2py-script.py script to R:\apps\python3\Scripts
Installing f2py.exe script to R:\apps\python3\Scripts

Using r:\apps\python3\lib\site-packages\numpy-1.19.0.dev0+bf6859c-py3.7-win-amd64.egg
Finished processing dependencies for opencv==4.2.0](/upfiles/1579356898460004.jpg)

OpenCV build for Windows x64/Python3.7 from source. Where is the .pyd file?

CMake is AFAICT correctly configured and producing the usual .DLL files in build/bin/Debug (as that is the configuration I'd like). The settings for Python3 have the correct directories and BUILD_XXX settings

CMake settings

The only relevant Python stuff I can find is in build/python_loader which has a setup.py file as I'd expect. Running this produces 'opencv\build\python_loader\dist\opencv-4.2.0-py3.7.egg' but no .pyd file. It is installing to the correct directory but the all important DLL file is missing.

So: How does the .pyd file get produced? Which stage of the build?

MTIA.

[running build_py
creating build\bdist.win-amd64\egg
creating build\bdist.win-amd64\egg\cv2
copying build\lib\cv2\config.py -> build\bdist.win-amd64\egg\cv2
copying build\lib\cv2\load_config_py2.py -> build\bdist.win-amd64\egg\cv2
copying build\lib\cv2\load_config_py3.py -> build\bdist.win-amd64\egg\cv2
copying build\lib\cv2\__init__.py -> build\bdist.win-amd64\egg\cv2
byte-compiling build\bdist.win-amd64\egg\cv2\config.py to config.cpython-37.pyc
byte-compiling build\bdist.win-amd64\egg\cv2\load_config_py2.py to load_config_py2.cpython-37.pyc
byte-compiling build\bdist.win-amd64\egg\cv2\load_config_py3.py to load_config_py3.cpython-37.pyc
byte-compiling build\bdist.win-amd64\egg\cv2\__init__.py to __init__.cpython-37.pyc
creating build\bdist.win-amd64\egg\EGG-INFO
copying opencv.egg-info\PKG-INFO -> build\bdist.win-amd64\egg\EGG-INFO
copying opencv.egg-info\SOURCES.txt -> build\bdist.win-amd64\egg\EGG-INFO
copying opencv.egg-info\dependency_links.txt -> build\bdist.win-amd64\egg\EGG-INFO
copying opencv.egg-info\requires.txt -> build\bdist.win-amd64\egg\EGG-INFO
copying opencv.egg-info\top_level.txt -> build\bdist.win-amd64\egg\EGG-INFO
zip_safe flag not set; analyzing archive contents...
cv2.__pycache__.__init__.cpython-37: module references __file__
creating 'dist\opencv-4.2.0-py3.7.egg' and adding 'build\bdist.win-amd64\egg' to it
removing 'build\bdist.win-amd64\egg' (and everything under it)
Processing opencv-4.2.0-py3.7.egg
removing 'r:\apps\python3\lib\site-packages\opencv-4.2.0-py3.7.egg' (and everything under it)
creating r:\apps\python3\lib\site-packages\opencv-4.2.0-py3.7.egg
Extracting opencv-4.2.0-py3.7.egg to r:\apps\python3\lib\site-packages
opencv 4.2.0 is already the active version in easy-install.pth

Installed r:\apps\python3\lib\site-packages\opencv-4.2.0-py3.7.egg
Processing dependencies for opencv==4.2.0
Searching for numpy==1.19.0.dev0+bf6859c
Best match: numpy 1.19.0.dev0+bf6859c
Processing numpy-1.19.0.dev0+bf6859c-py3.7-win-amd64.egg
numpy 1.19.0.dev0+bf6859c is already the active version in easy-install.pth
Installing f2py-script.py script to R:\apps\python3\Scripts
Installing f2py.exe script to R:\apps\python3\Scripts

Using r:\apps\python3\lib\site-packages\numpy-1.19.0.dev0+bf6859c-py3.7-win-amd64.egg
Finished processing dependencies for opencv==4.2.0](/upfiles/1579356898460004.jpg)

OpenCV build for Windows x64/Python3.7 from source. Where is the .pyd file?

CMake is AFAICT correctly configured and producing the usual .DLL files in build/bin/Debug (as that is the configuration I'd like). The settings for Python3 have the correct directories and BUILD_XXX settings

CMake settingsCMake settings

The only relevant Python stuff I can find is in build/python_loader which has a setup.py file as I'd expect. Running this produces 'opencv\build\python_loader\dist\opencv-4.2.0-py3.7.egg' but no .pyd file. It is installing to the correct directory but the all important DLL file is missing.

So: How does the .pyd file get produced? Which stage of the build?

MTIA.

[running build_py
creating build\bdist.win-amd64\egg
creating build\bdist.win-amd64\egg\cv2
copying build\lib\cv2\config.py -> build\bdist.win-amd64\egg\cv2
copying build\lib\cv2\load_config_py2.py -> build\bdist.win-amd64\egg\cv2
copying build\lib\cv2\load_config_py3.py -> build\bdist.win-amd64\egg\cv2
copying build\lib\cv2\__init__.py -> build\bdist.win-amd64\egg\cv2
byte-compiling build\bdist.win-amd64\egg\cv2\config.py to config.cpython-37.pyc
byte-compiling build\bdist.win-amd64\egg\cv2\load_config_py2.py to load_config_py2.cpython-37.pyc
byte-compiling build\bdist.win-amd64\egg\cv2\load_config_py3.py to load_config_py3.cpython-37.pyc
byte-compiling build\bdist.win-amd64\egg\cv2\__init__.py to __init__.cpython-37.pyc
creating build\bdist.win-amd64\egg\EGG-INFO
copying opencv.egg-info\PKG-INFO -> build\bdist.win-amd64\egg\EGG-INFO
copying opencv.egg-info\SOURCES.txt -> build\bdist.win-amd64\egg\EGG-INFO
copying opencv.egg-info\dependency_links.txt -> build\bdist.win-amd64\egg\EGG-INFO
copying opencv.egg-info\requires.txt -> build\bdist.win-amd64\egg\EGG-INFO
copying opencv.egg-info\top_level.txt -> build\bdist.win-amd64\egg\EGG-INFO
zip_safe flag not set; analyzing archive contents...
cv2.__pycache__.__init__.cpython-37: module references __file__
creating 'dist\opencv-4.2.0-py3.7.egg' and adding 'build\bdist.win-amd64\egg' to it
removing 'build\bdist.win-amd64\egg' (and everything under it)
Processing opencv-4.2.0-py3.7.egg
removing 'r:\apps\python3\lib\site-packages\opencv-4.2.0-py3.7.egg' (and everything under it)
creating r:\apps\python3\lib\site-packages\opencv-4.2.0-py3.7.egg
Extracting opencv-4.2.0-py3.7.egg to r:\apps\python3\lib\site-packages
opencv 4.2.0 is already the active version in easy-install.pth

Installed r:\apps\python3\lib\site-packages\opencv-4.2.0-py3.7.egg
Processing dependencies for opencv==4.2.0
Searching for numpy==1.19.0.dev0+bf6859c
Best match: numpy 1.19.0.dev0+bf6859c
Processing numpy-1.19.0.dev0+bf6859c-py3.7-win-amd64.egg
numpy 1.19.0.dev0+bf6859c is already the active version in easy-install.pth
Installing f2py-script.py script to R:\apps\python3\Scripts
Installing f2py.exe script to R:\apps\python3\Scripts

Using r:\apps\python3\lib\site-packages\numpy-1.19.0.dev0+bf6859c-py3.7-win-amd64.egg
Finished processing dependencies for opencv==4.2.0](/upfiles/1579356898460004.jpg)

OpenCV build for Windows x64/Python3.7 from source. Where is the .pyd file?

CMake is AFAICT correctly configured and producing the usual .DLL files in build/bin/Debug (as that is the configuration I'd like). The settings for Python3 have the correct directories and BUILD_XXX settings

CMake settings

The only relevant Python stuff I can find is in build/python_loader which has a setup.py file as I'd expect. Running this produces 'opencv\build\python_loader\dist\opencv-4.2.0-py3.7.egg' but no .pyd file. It is installing to the correct directory but the all important DLL file is missing.

So: How does the .pyd file get produced? Which stage of the build?

[Edit] To clarify: the CMake generated project files have all been loaded into VS and built by this stage. All of the OCV .DLL files are created as expectedlink text.

MTIA.

[running build_py
creating build\bdist.win-amd64\egg
creating build\bdist.win-amd64\egg\cv2
copying build\lib\cv2\config.py -> build\bdist.win-amd64\egg\cv2
copying build\lib\cv2\load_config_py2.py -> build\bdist.win-amd64\egg\cv2
copying build\lib\cv2\load_config_py3.py -> build\bdist.win-amd64\egg\cv2
copying build\lib\cv2\__init__.py -> build\bdist.win-amd64\egg\cv2
byte-compiling build\bdist.win-amd64\egg\cv2\config.py to config.cpython-37.pyc
byte-compiling build\bdist.win-amd64\egg\cv2\load_config_py2.py to load_config_py2.cpython-37.pyc
byte-compiling build\bdist.win-amd64\egg\cv2\load_config_py3.py to load_config_py3.cpython-37.pyc
byte-compiling build\bdist.win-amd64\egg\cv2\__init__.py to __init__.cpython-37.pyc
creating build\bdist.win-amd64\egg\EGG-INFO
copying opencv.egg-info\PKG-INFO -> build\bdist.win-amd64\egg\EGG-INFO
copying opencv.egg-info\SOURCES.txt -> build\bdist.win-amd64\egg\EGG-INFO
copying opencv.egg-info\dependency_links.txt -> build\bdist.win-amd64\egg\EGG-INFO
copying opencv.egg-info\requires.txt -> build\bdist.win-amd64\egg\EGG-INFO
copying opencv.egg-info\top_level.txt -> build\bdist.win-amd64\egg\EGG-INFO
zip_safe flag not set; analyzing archive contents...
cv2.__pycache__.__init__.cpython-37: module references __file__
creating 'dist\opencv-4.2.0-py3.7.egg' and adding 'build\bdist.win-amd64\egg' to it
removing 'build\bdist.win-amd64\egg' (and everything under it)
Processing opencv-4.2.0-py3.7.egg
removing 'r:\apps\python3\lib\site-packages\opencv-4.2.0-py3.7.egg' (and everything under it)
creating r:\apps\python3\lib\site-packages\opencv-4.2.0-py3.7.egg
Extracting opencv-4.2.0-py3.7.egg to r:\apps\python3\lib\site-packages
opencv 4.2.0 is already the active version in easy-install.pth

Installed r:\apps\python3\lib\site-packages\opencv-4.2.0-py3.7.egg
Processing dependencies for opencv==4.2.0
Searching for numpy==1.19.0.dev0+bf6859c
Best match: numpy 1.19.0.dev0+bf6859c
Processing numpy-1.19.0.dev0+bf6859c-py3.7-win-amd64.egg
numpy 1.19.0.dev0+bf6859c is already the active version in easy-install.pth
Installing f2py-script.py script to R:\apps\python3\Scripts
Installing f2py.exe script to R:\apps\python3\Scripts

Using r:\apps\python3\lib\site-packages\numpy-1.19.0.dev0+bf6859c-py3.7-win-amd64.egg
Finished processing dependencies for opencv==4.2.0](/upfiles/1579356898460004.jpg)