DmitryUlyanov/Multicore-TSNE

Can't install on Apple M1 chip

smortezah opened this issue · 13 comments

Trying to install on Apple M1 chip, it throws "wrong architecture" error.

I have a different error when running pip install MulticoreRSNE:

Building wheel for MulticoreTSNE (setup.py) ... error
ERROR: Command errored out with exit status 1:
command: /opt/homebrew/opt/python@3.9/bin/python3.9 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/mr/8qybn91j5fgdbrcdmq7ckftw0000gn/T/pip-install-wgg624pd/multicoretsne_3ce9ee427adb41349f64f2af4866a3aa/setup.py'"'"'; file='"'"'/private/var/folders/mr/8qybn91j5fgdbrcdmq7ckftw0000gn/T/pip-install-wgg624pd/multicoretsne_3ce9ee427adb41349f64f2af4866a3aa/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(file) if os.path.exists(file) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' bdist_wheel -d /private/var/folders/mr/8qybn91j5fgdbrcdmq7ckftw0000gn/T/pip-wheel-2vay8_aj
cwd: /private/var/folders/mr/8qybn91j5fgdbrcdmq7ckftw0000gn/T/pip-install-wgg624pd/multicoretsne_3ce9ee427adb41349f64f2af4866a3aa/
Complete output (28 lines):
running bdist_wheel
running build
running build_py
creating build
creating build/lib.macosx-12-arm64-3.9
creating build/lib.macosx-12-arm64-3.9/MulticoreTSNE
copying MulticoreTSNE/init.py -> build/lib.macosx-12-arm64-3.9/MulticoreTSNE
creating build/lib.macosx-12-arm64-3.9/MulticoreTSNE/tests
copying MulticoreTSNE/tests/init.py -> build/lib.macosx-12-arm64-3.9/MulticoreTSNE/tests
copying MulticoreTSNE/tests/test_base.py -> build/lib.macosx-12-arm64-3.9/MulticoreTSNE/tests
running egg_info
writing MulticoreTSNE.egg-info/PKG-INFO
writing dependency_links to MulticoreTSNE.egg-info/dependency_links.txt
writing requirements to MulticoreTSNE.egg-info/requires.txt
writing top-level names to MulticoreTSNE.egg-info/top_level.txt
listing git files failed - pretending there aren't any
reading manifest file 'MulticoreTSNE.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE.txt'
writing manifest file 'MulticoreTSNE.egg-info/SOURCES.txt'
running build_ext
cmake version 3.21.4

CMake suite maintained and supported by Kitware (kitware.com/cmake).
CMake Error: Unknown argument --
CMake Error: Run 'cmake --help' for all supported options.

ERROR: Cannot generate Makefile. See above errors.

ERROR: Failed building wheel for MulticoreTSNE
Running setup.py clean for MulticoreTSNE
Failed to build MulticoreTSNE
Installing collected packages: MulticoreTSNE
DEPRECATION: Configuring installation scheme with distutils config files is deprecated and will no longer work in the near future. If you are using a Homebrew or Linuxbrew Python, please see discussion at Homebrew/homebrew-core#76621
Running setup.py install for MulticoreTSNE ... error
ERROR: Command errored out with exit status 1:
command: /opt/homebrew/opt/python@3.9/bin/python3.9 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/mr/8qybn91j5fgdbrcdmq7ckftw0000gn/T/pip-install-wgg624pd/multicoretsne_3ce9ee427adb41349f64f2af4866a3aa/setup.py'"'"'; file='"'"'/private/var/folders/mr/8qybn91j5fgdbrcdmq7ckftw0000gn/T/pip-install-wgg624pd/multicoretsne_3ce9ee427adb41349f64f2af4866a3aa/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(file) if os.path.exists(file) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' install --record /private/var/folders/mr/8qybn91j5fgdbrcdmq7ckftw0000gn/T/pip-record-zs84f693/install-record.txt --single-version-externally-managed --compile --install-headers /opt/homebrew/include/python3.9/MulticoreTSNE
cwd: /private/var/folders/mr/8qybn91j5fgdbrcdmq7ckftw0000gn/T/pip-install-wgg624pd/multicoretsne_3ce9ee427adb41349f64f2af4866a3aa/
Complete output (30 lines):
running install
/opt/homebrew/lib/python3.9/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
warnings.warn(
running build
running build_py
creating build
creating build/lib.macosx-12-arm64-3.9
creating build/lib.macosx-12-arm64-3.9/MulticoreTSNE
copying MulticoreTSNE/init.py -> build/lib.macosx-12-arm64-3.9/MulticoreTSNE
creating build/lib.macosx-12-arm64-3.9/MulticoreTSNE/tests
copying MulticoreTSNE/tests/init.py -> build/lib.macosx-12-arm64-3.9/MulticoreTSNE/tests
copying MulticoreTSNE/tests/test_base.py -> build/lib.macosx-12-arm64-3.9/MulticoreTSNE/tests
running egg_info
writing MulticoreTSNE.egg-info/PKG-INFO
writing dependency_links to MulticoreTSNE.egg-info/dependency_links.txt
writing requirements to MulticoreTSNE.egg-info/requires.txt
writing top-level names to MulticoreTSNE.egg-info/top_level.txt
listing git files failed - pretending there aren't any
reading manifest file 'MulticoreTSNE.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE.txt'
writing manifest file 'MulticoreTSNE.egg-info/SOURCES.txt'
running build_ext
cmake version 3.21.4

CMake suite maintained and supported by Kitware (kitware.com/cmake).
CMake Error: Unknown argument --
CMake Error: Run 'cmake --help' for all supported options.

ERROR: Cannot generate Makefile. See above errors.
----------------------------------------

ERROR: Command errored out with exit status 1: /opt/homebrew/opt/python@3.9/bin/python3.9 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/mr/8qybn91j5fgdbrcdmq7ckftw0000gn/T/pip-install-wgg624pd/multicoretsne_3ce9ee427adb41349f64f2af4866a3aa/setup.py'"'"'; file='"'"'/private/var/folders/mr/8qybn91j5fgdbrcdmq7ckftw0000gn/T/pip-install-wgg624pd/multicoretsne_3ce9ee427adb41349f64f2af4866a3aa/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(file) if os.path.exists(file) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' install --record /private/var/folders/mr/8qybn91j5fgdbrcdmq7ckftw0000gn/T/pip-record-zs84f693/install-record.txt --single-version-externally-managed --compile --install-headers /opt/homebrew/include/python3.9/MulticoreTSNE Check the logs for full command output.

No idea how to fix it.

Thanks,

Jianshu

I have the same problem on my M1 Macbook with anaconda miniforge.

pip install MulticoreTSNE

Output:
`pip install MulticoreTSNE 1 х │ 11s │ env_tensorflow Py │ 12:27:11
Collecting MulticoreTSNE
Using cached MulticoreTSNE-0.1.tar.gz (20 kB)
Preparing metadata (setup.py) ... done
Requirement already satisfied: numpy in /opt/homebrew/Caskroom/miniforge/base/envs/env_tensorflow/lib/python3.9/site-packages (from MulticoreTSNE) (1.22.1)
Requirement already satisfied: cffi in /opt/homebrew/Caskroom/miniforge/base/envs/env_tensorflow/lib/python3.9/site-packages (from MulticoreTSNE) (1.15.0)
Requirement already satisfied: pycparser in /opt/homebrew/Caskroom/miniforge/base/envs/env_tensorflow/lib/python3.9/site-packages (from cffi->MulticoreTSNE) (2.21)
Building wheels for collected packages: MulticoreTSNE
Building wheel for MulticoreTSNE (setup.py) ... error
ERROR: Command errored out with exit status 1:
command: /opt/homebrew/Caskroom/miniforge/base/envs/env_tensorflow/bin/python3.9 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/3m/s8wmrd5s1vsd0p7s_qpnlmr80000gn/T/pip-install-qhcyvm81/multicoretsne_309fe319d0ab455e8ddf77fe14158648/setup.py'"'"'; file='"'"'/private/var/folders/3m/s8wmrd5s1vsd0p7s_qpnlmr80000gn/T/pip-install-qhcyvm81/multicoretsne_309fe319d0ab455e8ddf77fe14158648/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(file) if os.path.exists(file) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' bdist_wheel -d /private/var/folders/3m/s8wmrd5s1vsd0p7s_qpnlmr80000gn/T/pip-wheel-4igemkjv
cwd: /private/var/folders/3m/s8wmrd5s1vsd0p7s_qpnlmr80000gn/T/pip-install-qhcyvm81/multicoretsne_309fe319d0ab455e8ddf77fe14158648/
Complete output (27 lines):
running bdist_wheel
running build
running build_py
creating build
creating build/lib.macosx-11.0-arm64-3.9
creating build/lib.macosx-11.0-arm64-3.9/MulticoreTSNE
copying MulticoreTSNE/init.py -> build/lib.macosx-11.0-arm64-3.9/MulticoreTSNE
creating build/lib.macosx-11.0-arm64-3.9/MulticoreTSNE/tests
copying MulticoreTSNE/tests/init.py -> build/lib.macosx-11.0-arm64-3.9/MulticoreTSNE/tests
copying MulticoreTSNE/tests/test_base.py -> build/lib.macosx-11.0-arm64-3.9/MulticoreTSNE/tests
running egg_info
writing MulticoreTSNE.egg-info/PKG-INFO
writing dependency_links to MulticoreTSNE.egg-info/dependency_links.txt
writing requirements to MulticoreTSNE.egg-info/requires.txt
writing top-level names to MulticoreTSNE.egg-info/top_level.txt
reading manifest file 'MulticoreTSNE.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE.txt'
writing manifest file 'MulticoreTSNE.egg-info/SOURCES.txt'
running build_ext
cmake version 3.22.2

CMake suite maintained and supported by Kitware (kitware.com/cmake).
CMake Error: Unknown argument --
CMake Error: Run 'cmake --help' for all supported options.

ERROR: Cannot generate Makefile. See above errors.

ERROR: Failed building wheel for MulticoreTSNE
Running setup.py clean for MulticoreTSNE
Failed to build MulticoreTSNE
Installing collected packages: MulticoreTSNE
Running setup.py install for MulticoreTSNE ... error
ERROR: Command errored out with exit status 1:
command: /opt/homebrew/Caskroom/miniforge/base/envs/env_tensorflow/bin/python3.9 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/3m/s8wmrd5s1vsd0p7s_qpnlmr80000gn/T/pip-install-qhcyvm81/multicoretsne_309fe319d0ab455e8ddf77fe14158648/setup.py'"'"'; file='"'"'/private/var/folders/3m/s8wmrd5s1vsd0p7s_qpnlmr80000gn/T/pip-install-qhcyvm81/multicoretsne_309fe319d0ab455e8ddf77fe14158648/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(file) if os.path.exists(file) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' install --record /private/var/folders/3m/s8wmrd5s1vsd0p7s_qpnlmr80000gn/T/pip-record-odgm4fvk/install-record.txt --single-version-externally-managed --compile --install-headers /opt/homebrew/Caskroom/miniforge/base/envs/env_tensorflow/include/python3.9/MulticoreTSNE
cwd: /private/var/folders/3m/s8wmrd5s1vsd0p7s_qpnlmr80000gn/T/pip-install-qhcyvm81/multicoretsne_309fe319d0ab455e8ddf77fe14158648/
Complete output (29 lines):
running install
/opt/homebrew/Caskroom/miniforge/base/envs/env_tensorflow/lib/python3.9/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
warnings.warn(
running build
running build_py
creating build
creating build/lib.macosx-11.0-arm64-3.9
creating build/lib.macosx-11.0-arm64-3.9/MulticoreTSNE
copying MulticoreTSNE/init.py -> build/lib.macosx-11.0-arm64-3.9/MulticoreTSNE
creating build/lib.macosx-11.0-arm64-3.9/MulticoreTSNE/tests
copying MulticoreTSNE/tests/init.py -> build/lib.macosx-11.0-arm64-3.9/MulticoreTSNE/tests
copying MulticoreTSNE/tests/test_base.py -> build/lib.macosx-11.0-arm64-3.9/MulticoreTSNE/tests
running egg_info
writing MulticoreTSNE.egg-info/PKG-INFO
writing dependency_links to MulticoreTSNE.egg-info/dependency_links.txt
writing requirements to MulticoreTSNE.egg-info/requires.txt
writing top-level names to MulticoreTSNE.egg-info/top_level.txt
reading manifest file 'MulticoreTSNE.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE.txt'
writing manifest file 'MulticoreTSNE.egg-info/SOURCES.txt'
running build_ext
cmake version 3.22.2

CMake suite maintained and supported by Kitware (kitware.com/cmake).
CMake Error: Unknown argument --
CMake Error: Run 'cmake --help' for all supported options.

ERROR: Cannot generate Makefile. See above errors.
----------------------------------------

ERROR: Command errored out with exit status 1: /opt/homebrew/Caskroom/miniforge/base/envs/env_tensorflow/bin/python3.9 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/3m/s8wmrd5s1vsd0p7s_qpnlmr80000gn/T/pip-install-qhcyvm81/multicoretsne_309fe319d0ab455e8ddf77fe14158648/setup.py'"'"'; file='"'"'/private/var/folders/3m/s8wmrd5s1vsd0p7s_qpnlmr80000gn/T/pip-install-qhcyvm81/multicoretsne_309fe319d0ab455e8ddf77fe14158648/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(file) if os.path.exists(file) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' install --record /private/var/folders/3m/s8wmrd5s1vsd0p7s_qpnlmr80000gn/T/pip-record-odgm4fvk/install-record.txt --single-version-externally-managed --compile --install-headers /opt/homebrew/Caskroom/miniforge/base/envs/env_tensorflow/include/python3.9/MulticoreTSNE Check the logs for full command output.`

same issue here on MacBook Pro, even if I use "pip3 install cmake==3.18.4".

Same issue

b-y-f commented

CMake Error: Unknown argument --

This has to be the most ridiculous problem I have ever seen while compiling a package...
I also had this error on my Mac and couldn't understand why. A simple cmake --help solved it.

The problem comes from the fact that the cmake command requires -S to be used during the build to point to the source path. So to correct this on Mac, simply modify the line 55 of "setyp.py" and replace '--' to '-S'. The package should compile withouth any error after that.
@b-y-f , @wjyzidane , @jianshu93 , @EmanuelCastanho , @ladcva Hope this helps you :)

Many thanks!

Jianshu

For me conda worked fine

https://anaconda.org/conda-forge/multicore-tsne

Best wishes

Greetings!

I use the python 3.11.1 and pip 23.1.2 to install the MulticoreTSNE and cmake 3.26.4. But my Jupyter lab outputs the following error messages. Do you know how to solve it? Look forward to learning from your insights!

Thank you so much in advance.

error: subprocess-exited-with-error

× python setup.py bdist_wheel did not run successfully.
│ exit code: 1
╰─> [27 lines of output]
running bdist_wheel
running build
running build_py
creating build
creating build/lib.macosx-10.9-universal2-cpython-311
creating build/lib.macosx-10.9-universal2-cpython-311/MulticoreTSNE
copying MulticoreTSNE/init.py -> build/lib.macosx-10.9-universal2-cpython-311/MulticoreTSNE
creating build/lib.macosx-10.9-universal2-cpython-311/MulticoreTSNE/tests
copying MulticoreTSNE/tests/init.py -> build/lib.macosx-10.9-universal2-cpython-311/MulticoreTSNE/tests
copying MulticoreTSNE/tests/test_base.py -> build/lib.macosx-10.9-universal2-cpython-311/MulticoreTSNE/tests
running egg_info
writing MulticoreTSNE.egg-info/PKG-INFO
writing dependency_links to MulticoreTSNE.egg-info/dependency_links.txt
writing requirements to MulticoreTSNE.egg-info/requires.txt
writing top-level names to MulticoreTSNE.egg-info/top_level.txt
reading manifest file 'MulticoreTSNE.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE.txt'
writing manifest file 'MulticoreTSNE.egg-info/SOURCES.txt'
running build_ext
cmake version 3.26.4

  CMake suite maintained and supported by Kitware (kitware.com/cmake).
  CMake Error: Unknown argument --
  CMake Error: Run 'cmake --help' for all supported options.
  
  ERROR: Cannot generate Makefile. See above errors.
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for MulticoreTSNE
ERROR: Could not build wheels for MulticoreTSNE, which is required to install pyproject.toml-based projects

This has to be the most ridiculous problem I have ever seen while compiling a package... I also had this error on my Mac and couldn't understand why. A simple cmake --help solved it.

The problem comes from the fact that the cmake command requires -S to be used during the build to point to the source path. So to correct this on Mac, simply modify the line 55 of "setyp.py" and replace '--' to '-S'. The package should compile withouth any error after that. @b-y-f , @wjyzidane , @jianshu93 , @EmanuelCastanho , @ladcva Hope this helps you :)

Not very familiar with python. Where is setyp.py file and how to open it?

For me conda worked fine

https://anaconda.org/conda-forge/multicore-tsne

Best wishes

It works for me. Thank you.
My sys: Ubuntu 22.04

For me conda worked fine

https://anaconda.org/conda-forge/multicore-tsne

Best wishes

It works for me,too!
Mysys: Windows 11

Not very familiar with python. Where is setyp.py file and how to open it?

@ScienceComputing Apologies for the delayed answer, I didn't follow this issue at all... Even if it probably months too late, I still prefer to answer just in case it helps :)
If you follow the instructions to install from source in the ReadMe, you will end up downloading the github repo locally and installing from it via pip directly. The setup.py can be found in this downloaded folder and will be used when calling pip.