# Setting up acd_cli¶

Check which Python 3 version is installed on your system, e.g. by running

python3 -V


If it is Python 3.2.3, 3.3.0 or 3.3.1, you need to upgrade to a higher minor version.

You may now proceed to install using PIP, your package manager if you are using Arch Linux/Devuan/Fedora or build Debian/RedHat packages using fpm.

## Installation with PIP¶

If you are new to Python, worried about dependencies or about possibly messing up your system, create and activate virtualenv like so:

cd /parent/path/to/your/new/virtualenv
virtualenv acdcli
source acdcli/bin/activate


You are now safe to install and test acd_cli. When you are finished, the environment can be disabled by simply closing your shell or running deactivate.

Please check which pip command is appropriate for Python 3 packages in your environment. I will be using ‘pip3’ as superuser in the examples.

The recommended and most up-to-date way is to directly install the master branch from GitHub.

pip3 install --upgrade git+https://github.com/yadayada/acd_cli.git


Or use the usual installation method by specifying the PyPI package name. This may not work flawlessly on Windows systems.

pip3 install --upgrade --pre acdcli


### PIP Errors on Debian¶

A version incompatibility may arise with PIP when upgrading the requests package. PIP will throw the following error:

ImportError: cannot import name 'IncompleteRead'


Run these commands to fix it:

apt-get remove python3-pip
easy_install3 pip


This will remove the distribution’s pip3 package and replace it with a version that is compatible with the newer requests package.

## Installation on Arch/Devuan/Fedora¶

### Arch Linux¶

There are two packages for Arch Linux in the AUR, acd_cli-git, which is linked to the master branch of the GitHub repository, and acd_cli, which is linked to the PyPI release.

### Devuan¶

The Devuan package is called “python3-acdcli” and may be installed as usual (by running apt-get install python3-acdcli as superuser).

### Fedora¶

An official rpm package exists that may be installed.

## Building deb/rpm packages¶

You will need to have fpm installed to build packages.

There is a Makefile in the assets directory that includes commands to build Debian packages (make deb) or RedHat packages (make rpm). It will also build the required requests-toolbelt package. fpm may also be able to build packages for other distributions or operating systems.

## Environment Variables¶

### Cache Path and Settings Path¶

You will find the current path settings in the output of acd_cli -v init.

The cache path is where acd_cli stores OAuth data, the node cache, logs etc. You may override the cache path by setting the ACD_CLI_CACHE_PATH environment variable.

The settings path is where various configuration files are stored (refer to the configuration section). The default path may be overriden by setting the ACD_CLI_SETTINGS_PATH environment variable.

### Proxy support¶

Requests supports HTTP(S) proxies via environment variables. Since all connections to Amazon Drive are using HTTPS, you need to set the variable HTTPS_PROXY. The following example shows how to do that in a bash-compatible environment.

export HTTPS_PROXY="https://user:pass@1.2.3.4:8080/"


You can also use HTTP proxies supporting CONNECT method:

export HTTPS_PROXY="http://1.2.3.4:8888/"


Another way to permanently set the proxy is via configuration file.

### Locale¶

If you need non-ASCII file/directory names, please check that your system’s locale is set correctly.

## Dependencies¶

### FUSE¶

For the mounting feature, fuse >= 2.6 is needed according to fusepy. On a Debian-based distribution, the package should be named simply ‘fuse’.

### Python Packages¶

Under normal circumstances, it should not be necessary to install the dependencies manually.

If you want to the dependencies using your distribution’s packaging system and are using a distro based on Debian ‘jessie’, the necessary packages are python3-appdirs python3-colorama python3-dateutil python3-requests python3-sqlalchemy.

## Uninstalling¶

Please run acd_cli delete-everything first to delete your authentication and node data in the cache path. Then, use pip to uninstall

pip3 uninstall acdcli


Then, revoke the permission for acd_cli_oa to access your drive in your Amazon profile, more precisely at https://www.amazon.com/ap/adam.