Python Integration
Follow the steps below to enable Python connectivity.
Steps:
1. Download and install Python.
For ease of deployment we suggest the Anaconda Python distribution
https://www.continuum.io/downloads
2. Add Python installation folder to your Path environment variable.
NOTE |
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.
https://pypi.org/project/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. Open Panopticon Designer (Desktop) then select Tools > Options.
The Altair Panopticon Options dialog displays.
6. Check the Enable Python Connectivity on Start Up box then click OK.
7. Restart Panopticon Designer (Desktop).
This saves the change and enables Python connectivity whenever Panopticon Designer (Desktop) is opened.
NOTE |
To uninstall prior versions of Pyro: pip uninstall Pyro4
|
The default password to secure connectivity is set to: password
To change this:
Edit start_Python_connectivity.bat, editing the line:
start python -m Pyro4.naming -k "password"
Edit 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.
@echo on
start python -m Pyro4.naming -n "[Required HostName]" -k "password"
ping localhost
cd "%~dp0"
python pyro.py "[Required HostName]"
pause
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: