Skip to content

DOC: Update compiler guidance for Windows #24331

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

Merged
merged 2 commits into from
Dec 19, 2018
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 9 additions & 5 deletions doc/source/contributing.rst
Original file line number Diff line number Diff line change
Expand Up @@ -125,21 +125,25 @@ requires a C compiler and Python environment. If you're making documentation
changes, you can skip to :ref:`contributing.documentation` but you won't be able
to build the documentation locally before pushing your changes.

.. _contributiong.dev_c:
.. _contributing.dev_c:

Installing a C Compiler
~~~~~~~~~~~~~~~~~~~~~~~

Pandas uses C extensions (mostly written using Cython) to speed up certain
operations. To install pandas from source, you need to compile these C
extensions, which means you need a C compiler. This process depends on which
platform you're using. Follow the `CPython contributing guidelines
<https://docs.python.org/devguide/setup.html#build-dependencies>`_ for getting a
platform you're using. Follow the `CPython contributing guide
<https://devguide.python.org/setup/#compile-and-build>`_ for getting a
compiler installed. You don't need to do any of the ``./configure`` or ``make``
steps; you only need to install the compiler.

For Windows developers, the following links may be helpful.
For Windows developers, when using Python 3.5 and later, it is sufficient to
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This says 3.5 but the linked Python docs say 3.6 - is that a typo?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this should be >= 3.5 i think

Copy link
Contributor Author

@jamesmyatt jamesmyatt Dec 19, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

may be @zooba can help?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So my understanding is that the VS 2015 toolchain is required for python 3.5 extensions, but VS 2017 supports multiple toolchains, and the "Python native development tools" installs both the 2015/2017 c++ toolchains, so works for python 3.5+

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's correct, though IIRC Python 3.5 was never updated to automatically detect VS 2017, which is why the devguide refers to the newer version.

install `Visual Studio 2017 <https://visualstudio.com/>`_ with the
**Python development workload** and the **Python native development tools**
option. Otherwise, the following links may be helpful.

* https://blogs.msdn.microsoft.com/pythonengineering/2017/03/07/python-support-in-vs2017/
* https://blogs.msdn.microsoft.com/pythonengineering/2016/04/11/unable-to-find-vcvarsall-bat/
* https://github.com/conda/conda-recipes/wiki/Building-from-Source-on-Windows-32-bit-and-64-bit
* https://cowboyprogrammer.org/building-python-wheels-for-windows/
Expand All @@ -149,7 +153,7 @@ For Windows developers, the following links may be helpful.
Let us know if you have any difficulties by opening an issue or reaching out on
`Gitter`_.

.. _contributiong.dev_python:
.. _contributing.dev_python:

Creating a Python Environment
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Expand Down