[
https://issues.apache.org/jira/browse/ARROW-5222?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Rok Mihevc updated ARROW-5222:
------------------------------
External issue URL: https://github.com/apache/arrow/issues/21696
> [Python] Issues with installing pyarrow for development on MacOS
> ----------------------------------------------------------------
>
> Key: ARROW-5222
> URL: https://issues.apache.org/jira/browse/ARROW-5222
> Project: Apache Arrow
> Issue Type: Improvement
> Components: Documentation, Python
> Reporter: Neal Richardson
> Assignee: Neal Richardson
> Priority: Major
> Labels: pull-request-available
> Fix For: 0.14.0
>
> Time Spent: 3h 10m
> Remaining Estimate: 0h
>
> gI tried following the
> [instructions|https://github.com/apache/arrow/blob/master/docs/source/developers/python.rst]
> for installing pyarrow for developers on macos, and I ran into quite a bit
> of difficulty. I'm hoping we can improve our documentation and/or tooling to
> make this a smoother process.
> I know we can't anticipate every quirk of everyone's dev environment, but in
> my case, I was getting set up on a new machine, so this was from a clean
> slate. I'm also new to contributing to the project, so I'm a "clean slate" in
> that regard too, so my ignorance may be exposing other assumptions in the
> docs.
> # The instructions recommend using conda, but as this [Stack Overflow
> question|https://stackoverflow.com/questions/55798166/cmake-fails-with-when-attempting-to-compile-simple-test-program]
> notes, cmake fails. Uwe helpfully suggested installing an older MacOS SDK
> from [here|https://github.com/phracker/MacOSX-SDKs/releases]. That may work,
> but I'm personally wary to install binaries from an unofficial github
> account, let alone record that in our docs as an official recommendation.
> Either way, we should update the docs either to note this necessity or to
> recommend against installing with conda on macos.
> # After that, I tried to go the Homebrew path. Ultimately this did succeed,
> but it was rough. It seemed that I had to `brew install` a lot of packages
> that weren't included in the arrow/python/Brewfile (i.e. try to cmake, see
> what missing dependency it failed on, `brew install` it, retry `cmake`, and
> repeat). Among the libs I installed this way were double-conversion snappy
> brotli protobuf gtest rapidjson flatbuffers lz4 zstd c-ares boost. It's not
> clear how many of these extra dependencies I had to install were because I'd
> only installed the xcode command-line tools and not the full xcode from the
> App Store; regardless, the Brewfile should be complete if we want to use it.
> # In searching Jira for the double-conversion issue (the first one I hit), I
> found [this issue/PR|https://github.com/apache/arrow/pull/4132/files], which
> added double-conversion to a different Brewfile, in c_glib. So I tried `brew
> bundle` installing that Brewfile. It would probably be good to have a common
> Brewfile for the C++ setup, which the python and glib ones could load and
> then add any other extra dependencies, if necessary. That way, there's one
> place to add common dependencies.
> # I got close here but still had issues with `BOOST_HOME` not being found,
> even though I had brew-installed it. From the console output, it appeared
> that even though I was not using conda and did not have an active conda
> environment (I'd even done `conda env remove --name pyarrow-dev`), the cmake
> configuration script detected that conda existed and decided to use conda to
> resolve dependencies. I tried setting lots of different environment variables
> to tell cmake not to use conda, but ultimately I was only able to get past
> this by deleting conda from my system entirely.
> # This let me get to the point of being able to `import pyarrow`. But then
> running tests failed because the `hypothesis` package was not installed. I
> see that it is included in requirements-test.txt and setup.py under
> tests_require, but I followed the installation instructions and this package
> did not end up in my virtualenv. `pip install hypothesis` resolved it.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)