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

pip install does not work on Mac #16

Closed
erwtokritos opened this issue May 31, 2021 · 40 comments
Closed

pip install does not work on Mac #16

erwtokritos opened this issue May 31, 2021 · 40 comments

Comments

@erwtokritos
Copy link

Hey there,

First of all, congratulations for your effort, this is a great initiative!

I am raising this issue because I have faced a problem with installation. I have created a Python 3.8.6 virtual environment on my Mac and installed tensorflow 2.5.0 successfully. When I ran the installation command for the "Tensorflow Decision Forests" package,
pip3 install tensorflow_decision_forests --upgrade

I got:

ERROR: Could not find a version that satisfies the requirement tensorflow_decision_forests (from versions: none) ERROR: No matching distribution found for tensorflow_decision_forests

It's a bit confusing because the installation command on PyPi (I guess this is the right one) contains dashes ,instead of underscores, in the package name.

Any ideas?

Thanks a lot

@informatica92
Copy link

informatica92 commented May 31, 2021

Same stuff on Windows too.
Let me add some other details of the environment where I installed tensorflow 2:

  • python version: 3.8.8
  • tensorflow version: 2.5.0
  • pip version: 21.1.2

I also noticed the same confusion between dashes and underscores. Seems strange to me

@informatica92
Copy link

Looking at the files available in pip (here: https://pypi.org/project/tensorflow-decision-forests/#files) I noticed that all the available builds, have been made for linux only (python 3.6, 3.7, 3.8 and 3.9).
So basically, no Windows and Mac support up to now

@janpfeifer
Copy link
Contributor

hi Thanos,

Indeed the Mac version is in our TODO list, as is with windows (see issue #3 ), hence pip not finding a matching tensorflow_decision_forests version.

We'll keep this issue opened and use it to post updates. Sorry about that.

@erwtokritos
Copy link
Author

Thank you for your prompt response
Looking forward to start playing with the library :)

Have a good day!

@dkgaraujo
Copy link

For Mac/Windows users: a quick fix to get your feet wet while a version in pip is being prepared is to use the model in Google Colab, or if you are an advanced user that really wants to use a local install, you can create a docker with ubuntu.

(Incidentally, @janpfeifer no need to apologise! Best to put a version out there and keep adding more things than wait. Thanks very much to you and your team for your work on tfdf)

@ericzhangcn1980
Copy link

@janpfeifer Look forward to the MAC version update, thank you!

@AlirezaSadeghi
Copy link

Hey @janpfeifer, are there any updates or rough timelines you might have on this? As now TFX also has experimental support for tfdf, I think a mac runnable version is very much in need to facilitate a good dev experience.

@janpfeifer
Copy link
Contributor

hi @AlirezaSadeghi, this was very timely, since @achoum just released the Mac version yesterday, v0.2.3:

https://github.com/tensorflow/decision-forests/releases/tag/0.2.3

Let us know how it goes -- it's new, so there may be some initial bumps (hopefully none). And apologies it took so long, there were some issues in TF build process that only now got sorted out (afaik).

@AlirezaSadeghi
Copy link

Super.
Thanks @janpfeifer and will do!

@janpfeifer
Copy link
Contributor

The Mac version should be in pip:

https://pypi.org/project/tensorflow-decision-forests/#files

@achoum achoum closed this as completed Feb 4, 2022
@JanetVictorious
Copy link

I'm still unsuccessful in installing from pip:

Python 3.8.10
pip 22.0.3

When I try to install from pip (pip install tensorflow-decision-forests==0.2.3) I get the following error:

ERROR: Could not find a version that satisfies the requirement tensorflow-decision-forests==0.2.3 (from versions: none)
ERROR: No matching distribution found for tensorflow-decision-forests==0.2.3

Is this expected?

@achoum
Copy link
Collaborator

achoum commented Feb 4, 2022

Currently, TF-DF is only exported for python 3.9 on MacOS (see https://pypi.org/project/tensorflow-decision-forests/#files for the list of supported versions).

Until this is extended to other python version, can you try installing it again, but with python 3.9?

@achoum achoum reopened this Feb 4, 2022
@cacacoo
Copy link

cacacoo commented Feb 5, 2022

Hi. I was going to get the whl file and install it (https://pypi.org/project/tensorflow-decision-forests/#files)

but i got:
ERROR: tensorflow_decision_forests-0.2.3-cp39-cp39-macosx_12_0_x86_64.whl is not a supported wheel on this platform.
also
ERROR: tensorflow_decision_forests-0.2.4-cp39-cp39-macosx_12_0_x86_64.whl is not a supported wheel on this platform.

My environment:

macos big sur 11.6
python version: 3.9.10 with anaconda
tensorflow version: 2.7.0
pip version: 22.0.3

I think I got the right whl file, but it's weird.
Does anyone know the reason?

@JanetVictorious
Copy link

Thank you @achoum, that did the trick!

@achoum
Copy link
Collaborator

achoum commented Feb 7, 2022

@cacacoo

My best guess is the version of MacOS (macosx 12 vs macosx 11). I am not certain there is effectively a difference (like for the version of python), and I would try renaming the .whl file and editing /tensorflow_decision_forests-0.2.4.dist-info/WHEEL accordingly.

Ultimately, we will provide all the right versions directly in pip :), so thanks for your patience with all of this.

@b3rge
Copy link

b3rge commented Feb 9, 2022

Hi!

I am running: pip3 install tensorflow_decision_forests-0.2.4-cp39-cp39-macosx_12_0_x86_64.whl

on macos 12.2 Monterey
with Python 3.9.0
on a 64bit architecture.

but I still get: ERROR: tensorflow_decision_forests-0.2.4-cp39-cp39-macosx_12_2_x86_64.whl is not a supported wheel on this platform.

Anyone else?

@ericzhangcn1980
Copy link

ericzhangcn1980 commented Feb 10, 2022

me too!

@cacacoo
Copy link

cacacoo commented Feb 10, 2022

@achoum Thank you!

I modified the whl file name from 12 to 11 to fit my macos version and pip installed it.
tensorflow_decision_forests-0.2.4-cp39-cp39-macosx_11_0_x86_64.whl

editing /tensorflow_decision_forests-0.2.4.dist-info/WHEEL accordingly.
Can you explain this in more detail? Is there a problem if I don't do it?

@ynait
Copy link

ynait commented Feb 15, 2022

Upvoting a mac version for py3.8

@achoum
Copy link
Collaborator

achoum commented Feb 16, 2022

Hi,

Python 2.8 @cacacoo

TF-DF is now released for python 2.{7,8,9} on MacOS12

See the files: https://pypi.org/project/tensorflow-decision-forests/#files

@b3rge @ericzhangcn1980

Unfortunately, we are currently lacking MacOS experience, therefore we don't have a good solution to those issues. If you figure them out and share the results though, this would be awesome.

My 2 cents:

According the the exported Pip file for macos (see https://pypi.org/project/tensorflow-decision-forests/#files), we currently support :"macosx_12_0_x86_64" for python 2.{7,8,9}.

@b3rge

In your error, the macos version is macosx_12_2_x86_64.
I am not sure of what the "2" means (maybe a new sub version), but it would be strange not to have backward compatibility between these two versions. My best guess is that we/you need to find a way to force your pip to install this version.

In addition to the filename, the only other version specific information is in the file "/tensorflow_decision_forests-0.2.4.dist-info/WHEEL". I would not try this approach first, but editing the filename the WHEEL file content might work.

@omit-ai
Copy link

omit-ai commented Feb 18, 2022

Hi all,

since we're working with macOS I was thrilled to get the support! We may have found a workaround, for the time being, for this wheel files.

Setup

  1. macOS Monterey Version 12.2.1
  • Processor: 2,6 GHz 6-Core Intel Core i7
  1. Python Version: 3.9.5
  2. pip Version: 22.0.3

Workaround

  1. Download tensorflow_decision_forests-0.2.4-cp39-cp39-macosx_12_0_x86_64.whl from here
  2. Rename file to tensorflow_decision_forests-0.2.4-cp39-none-any.whl
  3. $ pip install tensorflow_decision_forests-0.2.4-cp39-none-any.whl

After that I was able to import tfdf and train a model.

Best regards,

Timo

@janpfeifer
Copy link
Contributor

Thanks @Timo3as for posting your workaround here. Indeed we lack MacOS expertise in our small team :\

Let's keep the issue opened until we find a way to test and release pip packages to the various MacOS versions.

@tlapusan
Copy link

tlapusan commented Mar 9, 2022

Thanks @Timo3as, your workaround worked for me also.

@varunkarwa
Copy link

@janpfeifer, can you tell me when tfdf will be available for Windows?

@janpfeifer
Copy link
Contributor

hi @varunkarwa , we are actually waiting for TensorFlow Custom Ops to work again for Windows -- TF-DF uses a "custom op" for Tensorflow.

But at home I have a windows box and I use TF-DF always on WSL (windows sub-system for linux), where I run the kernel for my notebooks. It works really nicely, I recommend. And in WSL2 it must be almost as fast I would think. (Generally my models at home are smaller, so it's always very fast).

#3 is the issue tracking WIndows support.

Also notice that Yggdrasil, the underlying C++ implementation of the algorithms, work for WIndows. So you can link it to do inference in a windows program for instance.

@pimatrix
Copy link

me too,not work on Mac OS m1

@tlapusan
Copy link

me too,not work on Mac OS m1

check comment from @Timo3as. His workaround worked for me on Mac.

@pimatrix
Copy link

pimatrix commented May 9, 2022

me too,not work on Mac OS m1

check comment from @Timo3as. His workaround worked for me on Mac.

Yes it works on Intel Core i7,but failed on Mac of m1

@sun1638650145
Copy link

Has anything changed now?

@janpfeifer
Copy link
Contributor

hi all, just wanted to update on unfortunately "no updates" for M1 yet. TensorFlow on M1 doesn't make it easy to support "TensorFlow Custom Ops", which we need for TF-DF :( ... since we don't yet have an update on this on TF side, we can't provide one for TF-DF either.

A question for those interested: if for Mac M1 we had a Decision Forests model working in pure Python -- mostly with the same API, just not integrated into TensorFlow.

The model could be used with numpy, matplotlib, notebook etc. And after training/developing with these models, it could be exported for TF Serving (for Linux). Would such a stop-gap solution be useful ?

@rstz
Copy link
Collaborator

rstz commented Sep 16, 2022

Hi,

We just published a MacOS pre-release for TF-DF 1.0.1 here: https://github.com/tensorflow/decision-forests/releases/tag/macos-1.0.1 This includes packages for Apple silicon (M1 / M2) processors

Everyone is invited to test it and report any bugs. Please include as much information about your python version and system as you're comfortable sharing (e.g. the output of python3 -m pip debug -v)

We plan to upload the release to Pypi as soon as possible.

@JJblockchain2060
Copy link

hi @rstz

Happen to try MacOS pre-release for TF-DF 1.0.1, but it returns error when install through pip:

python3 -m pip install tensorflow_decision_forests-1.0.1-cp38-cp38-macosx_12_0_x86_64.whl
ERROR: tensorflow_decision_forests-1.0.1-cp38-cp38-macosx_12_0_x86_64.whl is not a supported wheel on this platform.

% uname -a
Darwin appledeMacBook-Pro.local 21.6.0 Darwin Kernel Version 21.6.0: Wed Aug 10 14:25:27 PDT 2022; root:xnu-8020.141.5~2/RELEASE_X86_64 x86_64

% python3 --version
Python 3.8.0

% python3 -m pip debug -v
WARNING: This command is only meant for debugging. Do not use this with automation for parsing and getting these details, since the output and options of this command may change without notice.
pip version: pip 22.2.2 from /Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pip (python 3.8)
sys.version: 3.8.0 (v3.8.0:fa919fdf25, Oct 14 2019, 10:23:27)
[Clang 6.0 (clang-600.0.57)]
sys.executable: /Library/Frameworks/Python.framework/Versions/3.8/bin/python3
sys.getdefaultencoding: utf-8
sys.getfilesystemencoding: utf-8
locale.getpreferredencoding: UTF-8
sys.platform: darwin
sys.implementation:
name: cpython
'cert' config value: Not specified
REQUESTS_CA_BUNDLE: None
CURL_CA_BUNDLE: None
pip._vendor.certifi.where(): /Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pip/_vendor/certifi/cacert.pem
pip._vendor.DEBUNDLED: False
vendored library versions:
CacheControl==0.12.11
colorama==0.4.5
distlib==0.3.5
distro==1.7.0
msgpack==1.0.4
packaging==21.3
pep517==0.12.0
platformdirs==2.5.2
pyparsing==3.0.9
requests==2.28.1
certifi==2022.06.15
chardet==5.0.0
idna==3.3
urllib3==1.26.10
rich==12.5.1 (Unable to locate actual module version, using vendor.txt specified version)
pygments==2.12.0
typing_extensions==4.3.0 (Unable to locate actual module version, using vendor.txt specified version)
resolvelib==0.8.1
setuptools==44.0.0 (Unable to locate actual module version, using vendor.txt specified version)
six==1.16.0
tenacity==8.0.1 (Unable to locate actual module version, using vendor.txt specified version)
tomli==2.0.1
webencodings==0.5.1 (Unable to locate actual module version, using vendor.txt specified version)
Compatible tags: 1493
cp38-cp38-macosx_10_16_x86_64
cp38-cp38-macosx_10_16_intel
cp38-cp38-macosx_10_16_fat64
cp38-cp38-macosx_10_16_fat32
...

Can you let me know why?

@rstz
Copy link
Collaborator

rstz commented Sep 20, 2022

Hi @JJblockchain2060, thank you for the report. This is most likely an issue of non-matching platform tags. If you rename the wheel to tensorflow_decision_forests-1.0.1-cp38-cp38-macosx_10_16_x86_64.whl, installation should work

@JJblockchain2060
Copy link

thanks! with the change, I can install now

@rstz
Copy link
Collaborator

rstz commented Sep 21, 2022

We just published TF-DF 1.0.1 for Mac on PyPi 😃

@rstz rstz closed this as completed Sep 21, 2022
@nguyenhuutinh
Copy link

how to get version 2.0.5 @rstz ?

@rstz
Copy link
Collaborator

rstz commented Jan 3, 2023

I'm not sure what you mean, there is no Version 2.0.5 of TF-DF or TensorFlow.

@mtcdultra
Copy link

Hi, in my Mac (M2) VSCode crashes always when run "import tensorflow_decision_forests as tfdf". I already reinstalled tensorflow (2.11.0), tensorflow-macos (2.11.0), tensorflow-metal (0.7.0) and tensorflow_decision_forests (1.1.0). Any clue?

"Canceled future for execute_request message before replies were done
The Kernel crashed while executing code in the the current cell or a previous cell. Please review the code in the cell(s) to identify a possible cause of the failure. Click here for more info. View Jupyter log for further details."

@rstz
Copy link
Collaborator

rstz commented Jan 7, 2023

Hi Marcos
I moved your report to a new issue #152 for further investigation

@ShaneGervais
Copy link

I'm getting this issue too but on Fedora 38

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests