There are 2 possible architectures on OSX: arm64 and intel x86_64. There're conda packages for both, however the GUI distribution includes ONLY x86_64 build with Python 3.8. MacOS comes with some version of Python, but you may also want to obtain Python through Homebrew or the Anaconda Python distribution. Note that the Python package that comes with the OpenSim GUI distribution was built to use the Python that comes with macOS, and it will not work with Homebrew's Python or with Anaconda Python; in the latter cases, you must compile OpenSim from the source code. Navigate to the location of the opensim python package within the OpenSim installation. If you are using OpenSim's GUI distribution, this location is likely /Applications/OpenSim 4.x/sdk/Python. If you built OpenSim from source, this location is likely OPENSIM_INSTALL_DIR>/lib/python3.x/site-packages if using Python ). Perform the following (modifying the path below if necessary): Code Block |
---|
$ cd /Applications/OpenSim 4.0/sdk/Python
$ sudo python setup.py install |
The OpenSim libraries must be on your DYLD_LIBRARY_PATH: Code Block |
---|
$ export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:<OPENSIM_INSTALL_DIR>/lib |
You can place the above `export` commands in your `~/.bash_profile` 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: Code Block |
---|
$ python
...
>>> import opensim
>>> m = opensim.Model() |
Step-by-step instructions when using Anaconda with OpenSim 4.3+ Expand |
---|
- If paths to previous OpenSim versions exist on your PYTHONPATH environment variable, remove them. (If you used OpenSim 4.2 with Python, this step is likely necessary.)
- Download Anaconda.
- Download the Anaconda environment file (conda_env.yml) and place it directory of your choice; perhaps <RESOURCES_DIR>/Code/Python. This environment includes the following packages:
- Python 3.8
- NumPy 1.20.2
- Matplotlib
- Spyder (Python IDE)
- Open the terminal.
Before proceeding, you may need to initialize conda for shell interaction by running Code Block |
---|
$ conda init <shell-name> |
where <shell-name> is one of the following: bash (macOS default), fish, zsh, tcsh, or xonsh. Navigate to the location of the Anaconda environment file: Code Block |
---|
$ cd /Users/<profile>/Documents/OpenSim/4.3/Code/Python |
Create the environment from the file: Code Block |
---|
$ conda env create -f conda_env.yml |
Deactivate any existing environments and activate the OpenSim scripting environment. The prefix "opensim_scripting" should now appear in the terminal (it may appear on the right side of the screen). Code Block |
---|
(base) $ conda deactivate
$ conda activate opensim_scripting
(opensim_scripting) $ |
- Navigate to folder sdk/Python in the OpenSim 4.3 installation; perhaps /Applications/OpenSim 4.3.
Install OpenSim by running Code Block |
---|
(opensim_scripting) $ python -m pip install . |
You may need to update the DYLD_LIBRARY_PATH to include the OpenSim and Simbody libraries:
Code Block |
---|
(opensim_scripting) $ export DYLD_LIBRARY_PATH="$DYLD_LIBRARY_PATH:<YOUR_INSTALL_DIRECTORY_HERE>/sdk/lib"
(opensim_scripting) $ export DYLD_LIBRARY_PATH="$DYLD_LIBRARY_PATH:<YOUR_INSTALL_DIRECTORY_HERE>/sdk/Simbody/lib" |
Once installation completes, test the configuration by checking the timestamp from running Code Block |
---|
(opensim_scripting) $ python
>>> import opensim as osim
>>> osim.GetVersionAndDate()
>>> quit() |
in the terminal. Test that the visualizer is working by running the following Code Block |
---|
(opensim_scripting) $ cd "/Users/<PROFILE_NAME_HERE>/Documents/OpenSim/4.3/Code/Python/Moco"
(opensim_scripting) $ python exampleSlidingMass.py |
You should see a visualizer window appear with a sliding mass animation. Hit ESC twice to close the window. If you get an error about loading DLL failure check that PATH has been updated correctly before relaunching the shell. Scripting can be performed by using a text editor and running the scripts from the Anaconda Prompt via "python <script_name>.py". However, if you prefer using an interactive development environment (IDE) similar to Matlab, we've included the Spyder IDE in the Anaconda environment. Launch Spyder by simply running Code Block |
---|
(opensim_scripting) $ spyder |
|
|