anki/docs/mac.md

85 lines
2.3 KiB
Markdown
Raw Normal View History

# Mac
## Requirements
**Xcode**:
Install the latest XCode from the App Store. Open it at least once
so it installs the command line tools.
**Homebrew & Homebrew Deps**:
Install Homebrew from <https://brew.sh/>
Then install deps:
```
2020-11-18 04:22:51 +01:00
$ brew install rsync bazelisk
```
2021-10-04 07:05:15 +02:00
**Install Python 3.9**:
2021-10-04 07:05:15 +02:00
Install Python 3.9 from <https://python.org>. We have heard reports
2021-01-31 11:54:43 +01:00
of issues with pyenv and homebrew, so the package from python.org is
the only recommended approach.
Python 3.9 is not currently recommended, as pylint does not support it yet.
You do not need to set up a Python venv prior to building Anki.
When you run "python" in a shell, if it shows Python 2.x, you may get a
bunch of hashlib warnings during build. You can work around this by
2021-10-04 07:05:15 +02:00
pointing python to python3.9:
```
2021-10-04 07:05:15 +02:00
$ ln -sf /usr/local/bin/{python3.9,python}
```
This linking will not work if you're using the system Python from Big Sur,
which is one of the reasons why we recommend using Python from python.org.
But even so, if you still have a Python 2 binary on your system linked to
/usr/bin/python, it can happen that Bazel uses it and the build process
errors. In that case you might want to try forcing Bazel to use the
Python 3 binary by putting the following into a file called user.bazelrc at
the top of this repo (assuming /usr/local/bin/python links to your Python
3.9 binary).
```
build --action_env=PYO3_PYTHON=/usr/local/bin/python
```
## Running Anki during development
From the top level of Anki's source folder:
```
./run
```
This will build Anki and run it in place.
The first build will take a while, as it downloads and builds a bunch of
dependencies. When the build is complete, Anki will automatically start.
The Javascript build code is currently a bit flaky, so the initial
build may fail with an error. If you get an error when running/building,
try repeating the command once or twice - it should pick up where it left off.
To play audio, use Homebrew to install mpv and lame.
## Optimized builds
The `./run` command will create a non-optimized build by default. This is faster
to compile, but will mean Anki will run considerably slower.
To run Anki in optimized mode, use:
```
./scripts/runopt
```
2020-11-04 05:01:14 +01:00
## More
2020-11-04 05:01:14 +01:00
For info on running tests, building wheels and so on, please see [Development](./development.md).