Skip to content

Commit 487cdb9

Browse files
authored
update installation instructions (#533)
* update installation instructions * minor changes * add comments * fix line breaks
1 parent 46059b5 commit 487cdb9

File tree

2 files changed

+58
-42
lines changed

2 files changed

+58
-42
lines changed

docs/sphinx/source/installation.rst

Lines changed: 54 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -24,25 +24,24 @@ able to edit the source code?**
2424
Installing pvlib-python is similar to installing most scientific python
2525
packages, so see the :ref:`references` section for further help.
2626

27+
Please see the :ref:`compatibility` section for information on the
28+
optional packages that are needed for some pvlib-python features.
29+
2730
.. _nopython:
2831

2932
If you don't have Python
3033
------------------------
3134

3235
There are many ways to install Python on your system, but the Anaconda
33-
Scientific Python distribution provides by far the easiest way for new
34-
users to get started. Anaconda includes all of the popular libraries
35-
that you'll need for pvlib, including Pandas, NumPy, and SciPy.
36-
37-
Anaconda installs cleanly into a single directory, does not require
38-
Administrator or root privileges, does not affect other Python installs
39-
on your system, or interfere with OSX Frameworks. -- `The Anaconda
40-
Documentation <https://docs.continuum.io/anaconda/index>`_
36+
Python distribution is the easiest way for most new users to get
37+
started. Anaconda includes all of the popular libraries that you'll need
38+
for pvlib, including Pandas, NumPy, and SciPy.
4139

42-
#. **Install** the full Anaconda Scientific Python distribution available
43-
`at Continuum.io <https://store.continuum.io/cshop/anaconda/>`_
40+
#. **Install** the Anaconda Python distribution available at
41+
`Anaconda.com <https://www.anaconda.com/download/>`_.
4442

45-
See the `Anaconda FAQ <http://docs.continuum.io/anaconda/faq.html>`_
43+
See `What is Anaconda? <https://www.anaconda.com/what-is-anaconda/>`_
44+
and the `Anaconda Documentation <https://docs.anaconda.com/anaconda/>`_
4645
for more information.
4746

4847
You can now install pvlib-python by one of the methods below.
@@ -53,13 +52,25 @@ You can now install pvlib-python by one of the methods below.
5352
Install standard release
5453
------------------------
5554

55+
Users may install pvlib-python using either the
56+
`conda <https://conda.io/docs/>`_ or `pip <https://pip.pypa.io>`_
57+
package manager. We recommend that most users install pvlib-python
58+
using the conda package manager in the
59+
`Anaconda Python distribution <https://www.anaconda.com/what-is-anaconda/>`_.
5660
To install the most recent stable release of pvlib-python in a
57-
non-editable way, use `conda <http://conda.pydata.org/docs/>`_
58-
(recommended if you use the Anaconda Python distribution) or `pip
59-
<https://pip.pypa.io>`_ (works with any Python distribution)::
61+
non-editable way, use one of the following commands to install pvlib-python::
6062

63+
# get the package from the pvlib conda channel
64+
# best option for installing pvlib in the base Anaconda distribution
6165
conda install -c pvlib pvlib
6266

67+
# get the package from the conda-forge conda channel
68+
# best option if using pvlib.forecast module
69+
# strongly recommend installing in a separate conda env as shown below
70+
conda create -n pvlib -c conda-forge pvlib-python; conda activate pvlib
71+
72+
# get the package from the Python Package Index
73+
# best option if you know what you are doing
6374
pip install pvlib
6475

6576
If your system complains that you don't have access privileges or asks
@@ -156,10 +167,10 @@ referred to as *conda environments*, but they're the same for our purposes.
156167
#. **Install** additional packages into your development environment:
157168
``conda install jupyter ipython matplotlib seaborn pytest nose flake8``
158169

159-
The `conda documentation
160-
<http://conda.pydata.org/docs/using/index.html>`_ has more information
161-
on how to use conda virtual environments. You can also add ``-h`` to most
162-
pip and conda commands to get help (e.g. ``conda -h`` or ``conda env -h``)
170+
The `conda documentation <https://conda.io/docs/index.html>`_ has more
171+
information on how to use conda virtual environments. You can also add
172+
``-h`` to most pip and conda commands to get help (e.g. ``conda -h`` or
173+
``conda env -h``)
163174

164175
.. _installsource:
165176

@@ -191,9 +202,33 @@ if you make changes to pvlib during an interactive Python
191202
session (including a Jupyter notebook). Restarting the Python
192203
interpreter will also work.
193204

194-
Remember to ``source activate pvlibdev`` (or whatever you named your
205+
Remember to ``conda activate pvlibdev`` (or whatever you named your
195206
environment) when you start a new shell or terminal.
196207

208+
.. _compatibility:
209+
210+
Compatibility
211+
-------------
212+
213+
pvlib-python is compatible with Python versions 2.7 and 3.4-3.7.
214+
215+
pvlib-python requires Pandas and Numpy. The minimum version requirements
216+
are specified in
217+
`setup.py <https://github.com/pvlib/pvlib-python/blob/master/setup.py>`_.
218+
They are typically releases from several years ago.
219+
220+
A handful of pvlib-python features require additional packages that must
221+
be installed separately using pip or conda. These packages/features
222+
include:
223+
224+
* scipy: single diode model, clear sky detection
225+
* pytables: Linke turbidity look up for clear sky models
226+
* numba: fastest solar position calculations
227+
* pyephem: solar positions calculations using an astronomical library
228+
* siphon: forecasting PV power using the pvlib.forecast module
229+
230+
The Anaconda distribution includes most of the above packages.
231+
197232
.. _nrelspa:
198233

199234
NREL SPA algorithm
@@ -216,28 +251,6 @@ To install the NREL SPA algorithm for use with pvlib:
216251
#. From the ``pvlib-python`` directory, run ``pip uninstall pvlib``
217252
followed by ``pip install .``
218253

219-
.. _compatibility:
220-
221-
Compatibility
222-
-------------
223-
224-
pvlib-python is compatible with Python versions 2.7, 3.4, 3.5 and Pandas
225-
versions 0.13.1 or newer.
226-
227-
There have been several problems with Continuum's Anaconda packages that
228-
have impacted pvlib users. The current problems that we're aware of are
229-
listed below:
230-
231-
#. For Windows + Python 2.7 users: Continuum's Python 2.7 SciPy 0.16.1,
232-
0.17.0, 0.17.1 packages are not compiled properly and will crash your
233-
Python interpreter if you use our Linke turbidity lookup function. See
234-
`Anaconda issue 650
235-
<https://github.com/ContinuumIO/anaconda-issues/issues/650>`_ for more.
236-
237-
Note that our Numba-accelerated solar position algorithms have more
238-
specific version requirements that will be resolved by the Numba
239-
installer.
240-
241254
.. _references:
242255

243256
References

docs/sphinx/source/whatsnew/v0.6.0.rst

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,8 @@ Bug fixes
111111
floats and NumPy arrays. (:issue:`508`)
112112
* Make GitHub recognize the license, add AUTHORS.md, clarify shared copyright.
113113
(:issue:`503`)
114-
* Fix argument order of longitude and latitude when querying weather forecasts by lonlat bounding box (:issue:`521`)
114+
* Fix argument order of longitude and latitude when querying weather forecasts
115+
by lonlat bounding box (:issue:`521`)
115116

116117

117118
Documentation
@@ -123,9 +124,11 @@ Documentation
123124
* Expanded general contributing and pull request guidelines.
124125
* Added section on single diode equation with some detail on solutions used in
125126
pvlib-python (:issue:`518`)
127+
* Minor improvements and updates to installation documentation. (:issue:`531`)
126128
* Improve LocalizedPVSystem and LocalizedSingleAxisTracker documentation.
127129
(:issue:`532`)
128130

131+
129132
Testing
130133
~~~~~~~
131134
* Add pytest-mock dependency

0 commit comments

Comments
 (0)