-
Notifications
You must be signed in to change notification settings - Fork 19
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Doc: added page on how to build up dev environment
- Loading branch information
1 parent
860dd66
commit e6c7c49
Showing
3 changed files
with
151 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -8,3 +8,4 @@ Development | |
contribute | ||
howto | ||
v2_to_v3 | ||
platform |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,130 @@ | ||
Reference test platforms | ||
------------------------ | ||
|
||
About requirements | ||
^^^^^^^^^^^^^^^^^^ | ||
|
||
The ``requirements.txt`` mentioned in the following sections is a text file which | ||
contains the list of all the Python packages required for building up the projet | ||
environment. It is used by the ``pip`` command to install all the dependencies. | ||
|
||
The ``requirements.txt`` file is generated automatically by the | ||
``toml-to-requirements`` tool. It is based on the ``pyproject.toml`` file | ||
which is the reference file for the project dependencies. | ||
|
||
.. warning:: | ||
|
||
Please note that the generation is not systematic and the ``requirements.txt`` | ||
file may not be up-to-date. | ||
|
||
To update the ``requirements.txt`` file, you need to install the | ||
``toml-to-requirements`` and execute the following command: | ||
|
||
.. code-block:: bash | ||
toml-to-req --toml-file .\pyproject.toml --include-optional | ||
Microsoft Windows 10 | ||
^^^^^^^^^^^^^^^^^^^^ | ||
|
||
First, install the latest version of Python 3.10 from the WinPython project. | ||
|
||
.. note:: | ||
|
||
At the time of writing, the latest version is 3.10.11.1 which can be | ||
download from `here <https://sourceforge.net/projects/winpython/files/WinPython_3.10/3.10.11.1/Winpython64-3.10.11.1dot.exe/download>`_. | ||
|
||
Then install all the requirements using the following command from the WinPython | ||
command prompt: | ||
|
||
.. code-block:: bash | ||
pip install -r requirements.txt | ||
That's it, you can now run the tests using the following command: | ||
|
||
.. code-block:: bash | ||
pytest --unattended guidata | ||
If you want to rely on Visual Studio Code for editing and take advantage of the | ||
project settings and tasks, you will need to set the following environment variable: | ||
|
||
.. code-block:: bash | ||
set GUIDATA_PYTHONEXE=C:\WPy64-31110\python-3.11.1.amd64\python.exe | ||
CentOS Stream 8.8 | ||
^^^^^^^^^^^^^^^^^ | ||
|
||
.. note:: | ||
|
||
The following instructions have been tested on CentOS Stream which is the | ||
reference platform for the project. However, they should work on | ||
any other Linux distribution relying on the ``yum`` package manager. | ||
As for the other distributions, you may need to adapt the instructions | ||
to your specific environment (e.g. use ``apt-get`` instead of ``yum``). | ||
|
||
First, install the prerequisites: | ||
|
||
.. code-block:: bash | ||
sudo yum install groupinstall "Development Tools" -y | ||
sudo yum install openssl-devel.i686 libffi-devel.i686 bzip2-devel.i686 sqlite-devel -y | ||
Check that ``gcc`` is installed and available in the ``PATH`` environment variable: | ||
|
||
.. code-block:: bash | ||
gcc --version | ||
Install OpenSSL 1.1.1: | ||
|
||
.. code-block:: bash | ||
wget https://www.openssl.org/source/openssl-1.1.1v.tar.gz | ||
tar -xvf openssl-1.1.1v.tar.gz | ||
cd openssl-1.1.1v | ||
./config --prefix=/usr --openssldir=/etc/ssl --libdir=lib no-shared zlib-dynamic | ||
make | ||
sudo make install | ||
openssl version | ||
which openssl | ||
cd .. | ||
Install Python 3.10.13 (the latest 3.10 version at the time of writing): | ||
|
||
.. code-block:: bash | ||
wget https://www.python.org/ftp/python/3.10.13/Python-3.10.13.tgz | ||
tar -xvf Python-3.10.13.tgz | ||
cd Python-3.10.13 | ||
./configure --enable-optimizations --with-openssl=/usr --enable-loadable-sqlite-extensions | ||
sudo make altinstall | ||
cd .. | ||
Eventually add the ``/usr/local/bin`` directory to the ``PATH`` environment variable | ||
if Python has warned you about it: | ||
|
||
.. code-block:: bash | ||
sudo echo 'pathmunge /usr/local/bin' > /etc/profile.d/py310.sh | ||
chmod +x /etc/profile.d/py310.sh | ||
. /etc/profile # or logout and login again (reload the environment variables) | ||
echo $PATH # check that /usr/local/bin is in the PATH | ||
Create a virtual environment and install the requirements: | ||
|
||
.. code-block:: bash | ||
python3.10 -m venv guidata-venv | ||
source guidata-venv/bin/activate | ||
pip install --upgrade pip | ||
pip install -r requirements.txt | ||
That's it, you can now run the tests using the following command: | ||
|
||
.. code-block:: bash | ||
pytest --unattended guidata |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
Coverage | ||
NumPy>=1.21 | ||
PyQt5 | ||
QtPy>=1.9 | ||
black | ||
h5py>=3.0 | ||
isort | ||
pandas | ||
pillow | ||
pylint | ||
pytest | ||
pytest-cov | ||
pytest-qt | ||
pytest-xvfb | ||
python-docs-theme | ||
requests | ||
sphinx | ||
sphinx-copybutton | ||
sphinx_qt_documentation | ||
tomli |