How to run the server natively on Windows Using python.¶
The soap server runs in python (2.7), and requires some external libraries. The following lists all the istallations required to get the server up and running natively on Windows.
First, you must install all the appropriate libraries, as described below. You will need to command prompt to do this.
To open the command prommpt, click the ‘start button’, type ‘cmd’ and hit enter.
Running the server and client¶
Open two command promots, and in both, navigate to the directory containing both the server and test python files.
To run the server, in the first command prompt, type “python server.py” To run the test client, in the second command promot, type “python test.py”
Creating the windows executable using cx_Freeze (deprecated)¶
To create a windows executable, in the same directory as the server and test,
type python setup.py build
This will create or update the
build/exe.win23-2.7 directory.
Thei server executable can be run by double-clicking on the server.bat file in the server directory from a windows explorer window.
Building windows execuatable using Pyinstaller¶
Make sure you have installed pip (Additional Libraries).
Install pyinstaller (if you haven’t done so already):
pip install pyinstaller
Build the server:
pyinstaller server.spec
The server can now be run in the commandline:
dist\server\server.exe
Installing Python¶
Several installations of python are available. The one we recommend is PythonXY
Some of the libraries may require you to install them from source. This means running a setup python file in a zip file you have downloaded. To ensure you can unzip the files correctly, make sure you have an unzip program installed like PeaZip
For the moment, we recommend installing the 32 bit version of python, even if your operating system is 64 bit. This ensures maximum compatability, particularly if you need to build the server as an exe.
Additional Libraries¶
First off, you need to install Pip. This is a tool which downloads and installs python libraries for you.
- Navigate to pythonlibs
- Search for Pip
- Download and install this exe: pip-2.4.1.win32-py2.7.exe
To use Pip, open the command prompt.
To check if Pip is working, type ‘pip’. It should print out some documentation.
Spyne¶
Spyne is the SOAP server library.
edit: The spyne library has a small bug, which needs to be fixed in order to work with plugins. The fixed version is available here. To install it, you need to download the zip file on the right hand side of this page: https://github.com/knoxsp/spyne
Open up this zip file somewhere and navigate to this directory in the command line. Then type python setup.py install or read the Read me.
If this does not work and you want to install the base version of spyne, do the following:
In the command prompt, type:
pip install spyne
Should this fail, you must install it from source. Don’t worry. It’s easy. The source is available at: www.spyne.io
- Click on Download at the top.
- This will download a file called something like: spyne-2.10.9.tar.gz
- Once done, unzip the file. (If you are using peazip, right-click on the downloaded spyne file and click PeaZIp > ExtractHere. This will create a new file to which you can navigate. Perform the same procedure on the tar file in the new directory. This will again create a new directory containing the source.)
- Navigate to the file containing the source. Something like:
- cd Downloadsspyne-2.10.9.tardistspyne-2.10.9spyne
- python setup.py install
The screen should fill with logging and after about 5 seconds, you are done.
Suds¶
Suds is the soap client library. This is not needed for the server to run, but is needed to build the server executable as the test is built into this process.
first try: pip install suds
If this fails, you must install it from source. This process is identical to that of installing spyne.
- Download the SUDS source at: https://fedorahosted.org/releases/s/u/suds/python-suds-0.4.tar.gz
- Once downloaded navigate to the file and unzip it (See above on how to do this).
- Open up a command prompt
- Navigate to the file containing the source. Something like:
- cd Downloadspython-suds-0.4.tarpython-suds-0.4
- Type python setup.py install
The screen should fill with logging and after about 5 seconds, you are done.
Bcrypt¶
Try: pip install bcrypt
If you see some errors referring to ‘vcvarsall.bat’, then download and install the executable, located here:
https://bitbucket.org/alexandrul/py-bcrypt/downloads/
If the file extention ends with a .whl, then do the following: pip install wheel wheel install py-bcrypt_my_version.whl
MySql Connector¶
Navigate to: http://dev.mysql.com/downloads/connector/python/
Click on ‘Download’ of the MSI installer appropriate for your windows installation.
SqlAlchemy¶
Try: pip install sqlalchemy
We use sqlalchemy to provide database connections and manage the database communication.
zope.sqlalchemy¶
Try: pip install zope.sqlalchemy
The aim of this package is to unify the plethora of existing packages integrating SQLAlchemy with Zope’s transaction management. As such it seeks only to provide a data manager and makes no attempt to define a zopeish way to configure engines.
Pandas¶
Try: pip install pandas
Pandas allows us to manipulate and store timeseries and arrays in a very efficient and flexible way.
winpaths¶
Try: pip install winpaths
winpaths is a python module that retrieves the names of common Windows folders.
CherryPy¶
Try: pip install cherrypy
CherryPy allows developers to build web applications in much the same way they would build any other object-oriented Python program.
python-dateutil¶
Try: pip install python-dateutil
The dateutil module provides powerful extensions to the standard datetime module.
lxml¶
pip install lxml Lxml is an efficient library for parsing XML content.
pywin32:¶
If you plan on building the server into an exe, you will need this: http://sourceforge.net/projects/pywin32/