If you are planning on developing Shuup, read the Getting Started with Shuup Development guide instead.
- Python 2.7.9+/3.4+. https://www.python.org/download/.
- Any database supported by Django.
This guide assumes familiarity with the PyPA tools for Python packaging,
Update pip and setuptools
pip install -U pip pip install -U setuptools
Set up a new virtualenv for Shuup and activate it
virtualenv shuup-venv . shuup-venv/bin/activate
Install shuup via pypi
pip install shuup
Once installed, you can begin setting up a Django project using whichever standards you fancy. Refer to the top-level settings and urls for configuration details. At minimum, you will need to add
django-parler for model translations. Please ensure
PARLER_DEFAULT_LANGUAGE_CODE is set. See django-parler configuration for more
Shuup uses the
LANGUAGES setting to render multilingual forms. You’ll likely
want to override this setting to restrict your applications supported languages.
Once you have configured the Shuup apps you would like to use, run the following commands to create the database and initialize Shuup
python manage.py migrate python manage.py shuup_init
Some extra steps is required for Windows
If you want to install all requirements just with pip, you have to install MS Visual C++ Build Tools as explained in Python’s wiki. This way everything will be build automatically on your Windows machine, alternatively you may install failed to build packages from https://www.lfd.uci.edu/~gohlke/pythonlibs/.
If you have OSError: dlopen() failed to load a library: cairo / cairo-2 error, please carefully follow these instructions.
If you still have the same error, be sure that your installed python and GTK run time has the same 32 or 64 bit. It’s important.
Error is still there? Try to edit Windows environment PATH, and move GTK Runtime location to the top of the list.
Shuup is a constellation of Django apps, with many delivered in the single “Shuup Base” distribution, and with additional apps available as separate downloads.
shuup.core is the core package required by all Shuup installations.
It contains the core business logic for e-commerce, and all of the database
models required. However, it contains no frontend or admin dashboard, as
different projects may wish to replace them with other components or even
elide them altogether.
shuup.front is a basic but fully featured storefront. It itself has
several sub-applications that may be used to toggle functionality on and off.
shuup.front.apps.authis a wrapper around django auth for login and password recovery.
shuup.front.apps.registrationprovides views for customer activation and registration.
shuup.front.apps.customer_informationprovides views for customer address management.
shuup.front.apps.personal_order_historyadds views for customer order history.
shuup.front.apps.simple_order_notificationcan be used to send email notifications to the customer upon order completion.
shuup.front.apps.simple_searchprovides basic product search functionality.
shuup.front.apps.recently_viewed_productscan be used to display the last five products viewed by the customer.
shuup.admin provides a fully featured administration dashboard.
shuup.addons can be used to install and manage Shuup addons.
shuup.api exposes SHUUP APIs as RESTful url endpoints. See the
web API documentation for details.
shuup.campaigns provides a highly customizable promotion and discount
shuup.customer_group_pricing can be used to customize product pricing by
customer contact groups.
shuup.default_tax is a rules-based tax module that calculates and applies
taxes on orders. See the prices and taxes documentation for details.
shuup.guide integrates search results from this documentation into Admin
shuup.notify is a generic notification framework that can be used to
inform users about various events (order creation, shipments, password
resets, etc). See the notification documentation for details.
shuup.order_printouts adds support to create PDF printouts of orders from
shuup.simple_cms is a basic content management system that can be used to
add pages to the storefront.
shuup.simple_supplier is a simple inventory management system that can be
used to keep track of product inventory.