To enable Python connectivity:
1. Download and install Python.
For ease of deployment we suggest the Anaconda Python distribution.
2. Add Python installation folder to your Path environment variable.
On Windows, when using the Anaconda distribution of Python, you should add the following folder paths to your Windows System Environment variable Path:
The folder where Python is installed.
The folder containing DLLs related to the installed Python packages.
3. Download the latest version of Pyro4.
For Windows, download the Wheel: Pyro4-4.79-py2.py3-none-any.whl
4. Open the Anaconda Prompt. Navigate to the location of Pyro4-4.79-py2.py3-none-any.whl and run:
Pip install Pyro4-4.79-py2.py3-none-any.whl
Pyro is now installed into the Python site packages.
5. Copy the start_Python_connectivity.bat, start_Python_connectivity.sh, and pyro.py files from Panopticon Real Time Installation zip to a new location.
6. Depending on your operation system:
· Linux – run the start_Python_connectivity.sh file
· Windows – run the start_Python_connectivity.bat file
Only step 6 needs to be repeated when Python connectivity is required.
To uninstall prior versions of Pyro:
pip uninstall Pyro4
The default password to secure connectivity is set to password.
To change this:
q For Linux
Modify start_Python_connectivity.sh, editing the line:
python -m Pyro4.naming -n $1 -k "password"&
q For Windows
Modify start_Python_connectivity.bat, editing the line:
start python -m Pyro4.naming -k "password"
Modify pyro.py, editing the line:
ns = Pyro4.locateNS(host=host, hmac_key="password")
Pyro is set to listen on a specific host/IP, which by default is localhost.
This can be modified through editing the batch file that instantiates Pyro.
start python -m Pyro4.naming -n "[Required HostName]" -k "password"
python pyro.py "[Required HostName]"
To enable the Pickle serialization, modify the configuration.py file located in ..\Anaconda3\Lib\site-packages\Pyro4 to specify the serialization to be used.
For example, if Pickle is selected, self.SERIALIZER value should be changed to pickle and self.SERIALIZERS_ACCEPTED value should be changed to include pickle: