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

make install* fails on Mac OSX #223

Closed
jeremy-myers opened this issue Sep 5, 2023 · 10 comments
Closed

make install* fails on Mac OSX #223

jeremy-myers opened this issue Sep 5, 2023 · 10 comments
Assignees
Labels
dev Making dev life better documentation Improvements or additions to documentation doing Actively being worked on

Comments

@jeremy-myers
Copy link
Collaborator

Starting with macOS 12.3, Apple no longer ships python and instead only ships python3. The calls tomake install, make install_dev, make install_docs fail. It may not be obvious to Mac users how to get around this, since aliasing python to python3 is not a solution.

@dmdunla
Copy link
Collaborator

dmdunla commented Sep 5, 2023 via email

@jeremy-myers
Copy link
Collaborator Author

jeremy-myers commented Sep 5, 2023

Example

❯ make install
python -m pip install -e .
xcode-select: Failed to locate 'python', requesting installation of command line developer tools.
make: *** [install] Error 72

Aliasing fails

❯ which python
python: aliased to /usr/bin/python3
❯ make install
python -m pip install -e .
xcode-select: Failed to locate 'python', requesting installation of command line developer tools.
make: *** [install] Error 72

Updating command line developer tools does not solve the issue.

@dmdunla
Copy link
Collaborator

dmdunla commented Sep 5, 2023 via email

@jeremy-myers
Copy link
Collaborator Author

That is a workaround. However, /usr/local/bin/python exists and my guess is that Apple probably set it alias to /usr/bin/python3. One can change it, but it may need to be reset whenever macOS is updated. This should be called out in the documentation. I'm working on additions to the README that include this.

@dmdunla
Copy link
Collaborator

dmdunla commented Sep 5, 2023 via email

@jeremy-myers
Copy link
Collaborator Author

The former. /usr/local/bin/python points to /usr/bin/python3 by default. Python2 is not shipped with macOS >= 12.3.

@dmdunla
Copy link
Collaborator

dmdunla commented Sep 5, 2023 via email

@ntjohnson1
Copy link
Collaborator

So you should only need the make commands as a dev and our contributing documentation suggests setting up some sort of environment isolation prior to running make/pip installing from source. Would clarifying that be sufficient? Another simpler alternative is to just remove the make commands of they make things more complicated

@dmdunla
Copy link
Collaborator

dmdunla commented Sep 6, 2023

I am for removing the Makefile, as the contributing docs already state the commands for the different dev installs.

@ntjohnson1
Copy link
Collaborator

ntjohnson1 commented Sep 6, 2023

I think for full coverage we should:

  1. Remove the make file
  2. Update the readme/documentation to say how to install for a user. I didn't see that anywhere obvious. Either pypi or pip install .
  3. Update the contributing documentation on how to run the sphinx build locally since that was the only thing in the make file before (we could probably add this as a pytest under a docs marker for ease of use)

@ntjohnson1 ntjohnson1 added documentation Improvements or additions to documentation dev Making dev life better labels Sep 7, 2023
@ntjohnson1 ntjohnson1 self-assigned this Sep 10, 2023
@ntjohnson1 ntjohnson1 added the doing Actively being worked on label Sep 10, 2023
ntjohnson1 added a commit to ntjohnson1/pyttb that referenced this issue Sep 10, 2023
* Move badges to the top and add a few more
* Update project so we advertise which python versions we support
* Scatter the fact we are on pypi a few redundant places
dmdunla pushed a commit that referenced this issue Sep 12, 2023
* Documentation recs: #227
* Add note about normalizing then absorbing weights
* Add line separation for score
* Add pointer from tovec
* Note dims and exclude dims are mutually exclusive in docstring
   (could do typing overload in the future but should do that more globally)
* Fixed the ttv note to pass in default array shape, updated code to accept implicit row, explicit row, and column

* Broken markdown link #224:
* Fixes link and makes relative path for easier local viewing
* Adds github action to check for this in the future (considered linkcheckmd on pypi but hasn't released option to skip ssl verification)

* Broken markdown link #224:
* Fixes link and makes relative path for easier local viewing
* Adds github action to check for this in the future (considered linkcheckmd on pypi but hasn't released option to skip ssl verification)

* Ktensor test:
* Enforce wrarning for odd number of fixsigns
* Also reduces clutter in pytest output

* Tensor issymmetric:
* Fix bug the incorrectly required version if return_details true
* Update typing to be clearer on returns
* Add test to enforce/verify behavior

* Get rid of Makefile to reduce confusion #223:
* Move badges to the top and add a few more
* Update project so we advertise which python versions we support
* Scatter the fact we are on pypi a few redundant places

* Tutorial fixes/improvements #228

* Incorporate threshold in score #225:
* Make all asserts inline so optimized mode drops entirely
* Make flag True if threshold met and false otherwise.

* fixup! Tutorial fixes/improvements #228

* Tutorial formatting:
* Add jupyter formatting to black dependency
* Run black on notebooks
@dmdunla dmdunla closed this as completed Sep 12, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dev Making dev life better documentation Improvements or additions to documentation doing Actively being worked on
Projects
None yet
Development

When branches are created from issues, their pull requests are automatically linked.

3 participants