Development
Python Package on macOS: Building the httpfs Extension Fails
**Problem:**
The build fails on macOS when both the [`httpfs` extension](#docs:extensions:httpfs:overview) and the Python package are included:  
```bash
GEN=ninja BUILD_PYTHON=1 CORE_EXTENSIONS="httpfs" make
```  
```console
ld: library not found for -lcrypto
clang: error: linker command failed with exit code 1 (use -v to see invocation)
error: command '/usr/bin/clang++' failed with exit code 1
ninja: build stopped: subcommand failed.
make: *** [release] Error 1
```  
**Solution:**
In general, we recommended using the nightly builds, available under GitHub main on the [installation page](https://duckdb.org/docs/installation/).
If you would like to build DuckDB from source, avoid using the `BUILD_PYTHON=1` flag unless you are actively developing the Python library.
Instead, first build the `httpfs` extension (if required), then build and install the Python package separately using pip:  
```bash
GEN=ninja CORE_EXTENSIONS="httpfs" make
```  
If the next line complains about pybind11 being missing, or `--use-pep517` not being supported, make sure you're using a modern version of pip and setuptools.
`python3-pip` on your OS may not be modern, so you may need to run `python3 -m pip install pip -U` first.  
```bash
python3 -m pip install tools/pythonpkg --use-pep517 --user
```