Once you have all the dependencies taken care of you are ready to install Arches.
If you are a developer hoping to contribute to the Arches project, please check out the Creating a Development Environment section under “Developing With Arches”.
Create and enter a new directory called Projects:
mkdir Projects && cd Projects
Create a virtual environment called ENV:
Activate the virtual environment
Linux and macOS:
When you activate your virtual environment, your command prompt will be prefixed with
(ENV). If you need to deactivate it for any reason, run
Install Arches into your virtual environment
Use the following to get the latest stable release of Arches:
pip install arches --no-binary :all:
Running a pip installation without the
--no-binary :all:argument will install
archesin your virtual environment, but will not install all of the separate python packages that you need. This will cause you to not be able to proceed with the following steps.
Create a new Arches Project
Now that Arches is installed, you can make a Project. This is where you will make all of the customizations and branding that will make one installation of Arches different from the next. The name of your project should only be lowercase, and should use underscores instead of spaces or hyphens. The example below uses my_project.
Linux and macOS:
arches-project create my_project
python ENV\Scripts\arches-project create my_project
If this command ends in an error related to yarn, you will need to enter
my_project\my_project\(the directory that contains
package.json) and run this command:
Before you continue, you may need to open
my_project\my_project\settings_local.pyand change some environment-specific settings.
Depending on your Postgres/PostGIS installation, you may need to uncomment the DATABASES section and change the username and password, as well as the name of your PostGIS template database. If you will have multiple Arches projects using the same database, make sure to change the database name here as well.
On Windows, you must specify the path to your GDAL library. Add the following line. Be sure to adjust the path as necessary for your GDAL installation, and note the forward slashes:
GDAL_LIBRARY_PATH = "C:/OSGeo4W64/bin/gdal201.dll"
See Arches System Settings for a full rundown of how settings are handled in Arches.
At this point you must install ElasticSearch and make sure it is running before continuing.
Setup the database
To begin working with your Project, first enter it:
and then (with ElasticSearch running) run:
python manage.py packages -o setup_db
You may be prompted to enter a password for the
postgresuser, depending on your OS and how you installed Postgres/Postgis. Generally, our installation scripts set this password to
Run the development server
To confirm things are working, run:
python manage.py runserver
and navigate to
The default login credentials are ‘admin’ for both username and password. To change this password and create new users, navigate to localhost:8000/admin.
Now that you have Arches installed and a Project created, you are ready to begin.
Modify some Initial Configuration settings
Read more about Projects and Packages
For a quick start that will create an example database schema in your new Arches project (and allow you to begin recording data right away), you can load a sample package with the following command:
python manage.py packages -o load_package -s https://github.com/archesproject/arches-sample-data/archive/master.zip -db true
On macOS, If you get this error
ValueError: --enable-zlib requested but zlib not found, aborting.
Getting a connection error like this (in the dev server output or in the browser)
ConnectionError: ConnectionError(<urllib3.connection.HTTPConnection object at 0x0000000005C6BC50>: Failed to establish a new connection: [Errno 10061] No connection could be made because the target machine actively refused it) caused by: NewConnectionError(<urllib3.connection.HTTPConnection object at 0x0000000005C6BC50>: Failed to establish a new connection: [Errno 10061] No connection could be made because the target machine actively refused it)
means Arches is not able to communicate with ElasticSearch. Most likely, ElasticSearch is just not running, so just start it up and reload the page. If you can confirm that it is running, make sure Arches is pointed to to correct port.