You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							104 lines
						
					
					
						
							3.3 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							104 lines
						
					
					
						
							3.3 KiB
						
					
					
				
								***********************
							 | 
						|
								Installation
							 | 
						|
								***********************
							 | 
						|
								
							 | 
						|
								Requirements
							 | 
						|
								==================
							 | 
						|
								
							 | 
						|
								Before installing stormpy, make sure
							 | 
						|
								
							 | 
						|
								- Python 3 is available on your system. Stormpy does not work with python 2.
							 | 
						|
								- `pycarl <https://moves-rwth.github.io/pycarl>`_ is available.
							 | 
						|
								- `Storm <http://www.stormchecker.org/>`_ is available on your system.
							 | 
						|
								
							 | 
						|
								To avoid issues, we suggest that both pycarl and Storm use the same version of `carl <https://smtrat.github.io/carl>`_.
							 | 
						|
								The simplest way of ensuring this is to first install carl as explained in the `Storm installation guide <http://www.stormchecker.org/documentation/installation/manual-configuration.html#carl>`_.
							 | 
						|
								You can then install Storm and pycarl independently.
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								Installation Steps
							 | 
						|
								====================
							 | 
						|
								
							 | 
						|
								Virtual Environments
							 | 
						|
								--------------------
							 | 
						|
								
							 | 
						|
								Virtual environments create isolated environments for your projects.
							 | 
						|
								This helps to keep your system clean, work with different versions of packages and different version of python.
							 | 
						|
								While it is not required, we recommend the use of such virtual environments. To get you started, we recommend
							 | 
						|
								`this guide <http://docs.python-guide.org/en/latest/dev/virtualenvs/>`_ or
							 | 
						|
								`this primer <https://realpython.com/blog/python/python-virtual-environments-a-primer>`_.
							 | 
						|
								
							 | 
						|
								In short you can create a virtual environment ``env`` with::
							 | 
						|
								
							 | 
						|
									$ pip install virtualenv
							 | 
						|
									$ virtualenv -p python3 env
							 | 
						|
									$ source env/bin/activate
							 | 
						|
								
							 | 
						|
								The last step activates the virtual environment.
							 | 
						|
								Whenever using the environment the console prompt is prefixed with ``(env)``.
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								Building stormpy
							 | 
						|
								----------------
							 | 
						|
								
							 | 
						|
								Clone stormpy into any suitable location::
							 | 
						|
								
							 | 
						|
									$ git clone https://github.com/moves-rwth/stormpy.git
							 | 
						|
									$ cd stormpy
							 | 
						|
									
							 | 
						|
								Build stormpy in develop mode using your favourite python distribution way of installing: e.g.::
							 | 
						|
								
							 | 
						|
									$ python3 setup.py develop
							 | 
						|
									
							 | 
						|
								or::
							 | 
						|
								
							 | 
						|
									$ pip install -ve .
							 | 
						|
									
							 | 
						|
								
							 | 
						|
								Optional build arguments
							 | 
						|
								^^^^^^^^^^^^^^^^^^^^^^^^
							 | 
						|
								
							 | 
						|
								The build step ``build_ext`` also takes optional arguments for a more advanced configuration of stormpy.
							 | 
						|
								
							 | 
						|
								*	*Specifying which Storm library to use*
							 | 
						|
								
							 | 
						|
									If you have multiple versions of Storm or cmake is not able to find your Storm version,
							 | 
						|
									you can specify the ``--storm-dir YOUR-PATH-TO-STORM`` flag::
							 | 
						|
								
							 | 
						|
									$ python3 setup.py build_ext --storm-dir YOUR-PATH-TO-STORM develop
							 | 
						|
								
							 | 
						|
								*	*Disabling functionality*
							 | 
						|
								
							 | 
						|
									If you want to disable certain functionality in stormpy from being built you can use the following flags:
							 | 
						|
								
							 | 
						|
									* ``--disable-dft`` to disable support for dynamic fault trees (DFTs)
							 | 
						|
									* ``--disable-pars`` to disable support for parametric models
							 | 
						|
								
							 | 
						|
								*	*Building stormpy in debug mode*
							 | 
						|
								
							 | 
						|
									If you want to build stormpy in debug mode you can add the ``--debug`` flag::
							 | 
						|
								
							 | 
						|
									$ python3 setup.py build_ext --debug develop
							 | 
						|
								
							 | 
						|
								*	*Setting number of build threads*
							 | 
						|
								
							 | 
						|
									The build of stormpy uses all available cores per default.
							 | 
						|
									If you want to configure the number of threads manually you can specify the ``--jobs`` (or ``-j``) flag::
							 | 
						|
								
							 | 
						|
									$ python3 setup.py build_ext --jobs 2 develop
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								Testing stormpy installation
							 | 
						|
								----------------------------
							 | 
						|
								
							 | 
						|
								After building, you can run the test files by either::
							 | 
						|
								
							 | 
						|
									$ python setup.py test
							 | 
						|
								
							 | 
						|
								or by invoking pytest directly with::
							 | 
						|
								
							 | 
						|
									$ pip install pytest
							 | 
						|
									$ py.test tests/
							 | 
						|
								
							 | 
						|
								If the tests pass, you can now use stormpy.
							 | 
						|
								To get started, continue with our :doc:`getting_started`, consult the test files in ``tests/`` or the :doc:`api` (work in progress).
							 |