@@ -18,7 +18,7 @@ interacting with the mantid framework. The plotting is provided by
...
@@ -18,7 +18,7 @@ interacting with the mantid framework. The plotting is provided by
Building
Building
########
########
The following build instructions assume you have follwed the instructions on the :ref:`GettingStarted` pages and can build mantid and MantidPlot. To enable the
The following build instructions assume you have followed the instructions on the :ref:`GettingStarted` pages and can build mantid and MantidPlot. To enable the
build of the workbench simply set the cmake flag ``ENABLE_WORKBENCH=ON`` and
build of the workbench simply set the cmake flag ``ENABLE_WORKBENCH=ON`` and
build as normal. A ``workbench`` startup script (Linux/macOS) or executable (Windows) will appear in the ``bin`` folder. For Windows the executable will appear in the configuration subdirectory of ``bin``.
build as normal. A ``workbench`` startup script (Linux/macOS) or executable (Windows) will appear in the ``bin`` folder. For Windows the executable will appear in the configuration subdirectory of ``bin``.
...
@@ -27,3 +27,49 @@ Packaging
...
@@ -27,3 +27,49 @@ Packaging
Packaging is currently only supported on Linux platforms and must be enabled
Packaging is currently only supported on Linux platforms and must be enabled
using the cmake flag ``PACKAGE_WORKBENCH=ON``.
using the cmake flag ``PACKAGE_WORKBENCH=ON``.
Developing and debugging with PyCharm on Windows
################################################
The first thing that needs to be done is creating the PyCharm project and configuring the project settings. Please follow the instructions at :ref:`GettingStartedWithPyCharm`.
After the project settings have been configured, a Run/Debug configuration needs to be created. To edit the configurations go to ``Run->Run...`` and select ``Edit Configurations``. Select ``Templates->Python``, and hit the green ``+`` in the top left.
The necessary changes to the configuration are:
- Select the Mantid Python interpreter that was added to the project in the instructions above. Do not use the default interpreter on Windows.
Paths for running a Debug build:
--------------------------------
- Set the *Script Path* to ``<Mantid Build Directory>/bin/Debug/workbench-script.pyw``
- Set the *Working Directory* to ``<Mantid Build Directory>/bin/Debug``
Paths for running a Release build:
----------------------------------
- Set the *Script Path* to ``<Mantid Build Directory>/bin/Release/workbench-script.pyw``
- Set the *Working Directory* to ``<Mantid Build Directory>/bin/Release``
Note that the only difference here is the change from ``/bin/Debug/`` to ``/bin/Release/``
Common errors
-------------
qtpy.PythonQtError: No Qt bindings could be found
``<Mantid Source Directory>/external/src/ThirdParty/lib/qt5/bin`` is missing from ``Path``
ImportError: DLL load failed: The specified module could not be found.
``<Mantid Source Directory>/external/src/ThirdParty/lib/qt5/lib`` is missing from ``Path``
The fix for these errors is to make sure you have started PyCharm through the ``<Mantid Build Directory>/pycharm.bat`` script. This sets up the ``PATH`` variable for the Python imports.
Additionally, check that your PyCharm Run/Debug configuration *does not* overwrite the ``PATH`` variable. To check go to ``Edit Configurations -> Environment Variables`` and click the folder icon on the right side. In the ``Name`` column there should not be a ``Path`` variable.
Identifying issues with PyCharm configuration
---------------------------------------------
Follow these steps to narrow down the root of potential errors:
- Go to the Mantid Build Directory
- Start ``command_prompt.bat``. If the ``command_prompt.bat`` file is missing, Mantid has not been built.
- In the command prompt open the Python interpreter with ``python``.
- Try to import the package where the error is happening
- If the import succeeds, then there is a problem with the ``PATH`` configuration in PyCharm.
- If the import fails, then it is possible that Mantid has not been fully built. If you are trying to import ``PyQt4``/``PyQt5``/``qtpy``, and it fails to import from the command prompt, then the ``external`` dependencies might not be dowloaded or are corrupted.