Python wrapping is available from OpenSim 3.2, onward. The system architecture of Python & OpenSim must match (install 64-bit Python and 64-bit OpenSim) Python setup and configuration instructions are below.
Introduction to Python
Python is a widely used general purpose programming language. Python is free and open source, with a large user community that encourages sharing and user contributions. The Python language is very flexible, supporting object oriented and procedural styles of computing. The Python design philosophy also emphasizes code readability which makes sharing and using code easier than some other languages.
Those from scientific and engineering backgrounds who are new to Python should check out the following resources to help get started with the language:
- Python wikipedia
- Python vs Matlab
- Google Python classes
- Pep8 Python style guide
- Python style hints
- Access to the OpenSim API to create and simulate models
- Users can instantiate and run tools from setup files or programmatically
- Repeated/batch runs of tools
- Users can write "main" programs similar to those written by C++ developers, while taking advantage of the Python environment and tools
- A visualizer for API users that can be invoked through Python
- In this mode, there’s no access to the OpenSim plotter or the graphics window (use the model/API visualizer instead).
- Some internal Simtk classes (that belong to the SimTK namespace and simbody internals) are not available for construction, but the most commonly used classes are available as of version 3.1 (SimTK::Vec3, Vector, Mat33, State, Inertia).
Available Example Scripts?
We are currently in the process of developing example Python scripts for OpenSim and will share these with the community soon.
Setting up your python scripting environment
|Enthought Canopy||Academic licenses can be granted with a '.edu' email address. Basic package costs $199 per/year.|
|Continuum Anaconda||Anaconda Application||Basic package is free to download and use, contains Python 2.7 and other dependent packages. Cleanly installs into a single directory on your machine.|
|Python 2.7||Python.org||Free to use and download.|
Installing Canopy and the "opensim" python package
Download and Install Canopy
Visit the Canopy website, apply for an academic licence, download, and install.
Insert OpenSim into the System Path
Navigate to the system settings panel. Choose Advanced System Settings' then Environment Variables'. Check that OPENSIM_INSTALL_DIRECTORY\bin is in system variables Path, where OPENSIM_INSTALL_DIRECTORY is the directory where you installed the current version of OpenSim (e.g. C:/OpenSim 3.2). Delete any multiple OpenSim Path entries.
Configure Canopy to be your Default Python Environment
Make Canopy your default Python environment as multiple distributions of Python can exist on your system. Checking that Canopy is the default Python environment is achieved in the Canopy editor. Open the Editor and navigate to Edit > Preferences.
Detailed instructions can be found at here.
Run the Setup File from Command Line
Open a command prompt (type cmd into the Windows run dialog box). Navigate to the OpenSim Installation folder and find the subfolder sdk which contains the script setup.py.
Run the python script by typing:
This will copy the required files and folders to a local directory associated with python libraries.
Test OpenSim in Canopy by typing;
If there is no error, then the installation worked.
- You are trying to use 32-bit python with 64-bit OpenSim libraries. If you are using 64-bit OpenSim libraries, make sure to use 64-bit python.
- OpenSim's dll's are not on your PATH. In a command window, you could achieve this with a command like "set PATH=C:\OpenSim 3.2\bin;%PATH%"
We assume that you will use Python through the terminal. Open a new terminal window. First, we'll acquire the necessary dependencies.
Navigate to the sdk/python folder in your OpenSim installation. Assuming that OpenSim is installed into directory OPENSIM_HOME, perform the following:
The above assumes that you've defined an environment variable OPENSIM_HOME via a command like:
The OpenSim libraries must be on your LD_LIBRARY_PATH:
You can place the above `export` commands in your `~/.bashrc` file so that they are set whenever you open up a new terminal.
You should be ready to use the Python wrapping now. Try the following from any directory: