-
Notifications
You must be signed in to change notification settings - Fork 161
Running from source
You will currently need at least Python 3.7.x to run stable
code. In order to run
develop
you will need Python 3.8.x or higher (3.9.x has had some testing).
On Windows or macOS Download and install an appropriate version from
python.org. Do not use HomeBrew on macOS, that
version is known to have a broken tk
. See #670 Update requirements.txt for
MacOS
for discussion about this.
On Linux you should use your distribution's Python 3.x packages. Note that at
least Debian 10 still has 2.7.x as python
and pip
, and you will need to
specify python3
(from the package of that name) and pip3
(from
python3-pip
in the commands below in order to use a 3.x version.
As and when we move from Python 3.7 to 3.8 or beyond you might find that
your Linux distribution is still only shipping Python 3.7, in which case
you will need to install a later version separately and ensure you are
using the correct version. You already need at least Python 3.8.x to use our
develop
branch code.
Ensure you both have pip
installed, and that it is for Python 3.x by running:
pip --version
The output will have "(python X.Y)" on the end, indicating the version of Python it is for. If this says "2.7", or indeed anything other than "3.X" for some value of "X" then try:
pip3 --version
On Debian and derivaties you will need the following command in order to install this:
sudo apt install python3-pip
Otherwise see Installing pip.
Remember which of pip
or pip3
is the correct command for your system
when you get to Use pip
to install application requirements below.
If using a python.org package it will include this.
On Debian, Ubuntu, and other Debian derivatives the package you need to install
is python3-tk
:
sudo apt install python3-tk
On Arch you need:
sudo pacman -S tk
For other Linux distributions you will need to find the requisite package and how to install it. Keep in mind you need 'tkinter' for 'python3'. Installing 'tkinter' for Python 2.7 won't help you.
All other dependencies will be handled by pip
below.
Choose one of the following:
-
Using a zip of the latest stable source. Download and extract the latest stable source code.
-
OR Clone and checkout the source using git:
cd <directory you want t be the parent of the source>
git clone https://github.com/EDCD/EDMarketConnector.git
cd EDMarketConnector
git checkout stable
As per Contributing.md
stable
will contain the latest released code, or possibly some extra
commits leading up to the next release. If you're feeling slightly
braver you could use the main branch source code
(or git checkout main
) instead which might contain newer code that we
consider stable enough for the next release.
NB: Do not use the master
branch, it's almost empty! The name is
deprecated and we use main
instead.
-
Ensure additional necessary Python modules are installed with
pip install -r requirements.txt
.
- Note that on Debian (at least up to and including 10.x aka 'Buster')
you'll need
pip3 install -r requirements.txt
. - If you get 'command not found' or similar for the 'pip' command then
try:
python -m pip --user install pip
.
The main application doesn't work without access to Journal files. It can't even determine your Commander name without them. So, if you're running this application on a machine separate from where you play the Game you will need to set up a network share of those files.
You'll always find them on Windows at:
shell:SavedGames\Frontier Developments\Elite Dangerous\
so share that folder. Then get that mounted on the remote machine.
Then you will need to set the correct location on the remote machine in the
application's Settings
> Configuration
> E:D journal file location
option.
- Linux:
python3 EDMarketConnector.py
. - Mac:
python3 EDMarketConnector.py
. - Windows:
EDMarketConnector.py
.
#Command-line
The command-line program EDMC.py
writes the current system and station (if
docked) to stdout and optionally writes player status, ship locations, ship
loadout and/or station data to file.
This program requires that the user has performed Frontier Authentication through the main application.
Arguments:
-h, --help show this help message and exit
-v, --version print program version and exit
-a FILE write ship loadout to FILE in Companion API json format
-e FILE write ship loadout to FILE in E:D Shipyard plain text format
-l FILE write ship locations to FILE in CSV format
-m FILE write station commodity market data to FILE in CSV format
-o FILE write station outfitting data to FILE in CSV format
-s FILE write station shipyard data to FILE in CSV format
-t FILE write player status to FILE in CSV format
-d FILE write raw JSON data to FILE
-n send data to EDDN
-p CMDR Returns data from the specified player account
The program returns one of the following exit codes. Further information may be written to stderr.
- Success. Note that this doesn't necessarily mean that any requested output files have been produced - for example if the current station doesn't support the facilities for which data was requested.
- Server is down.
- Invalid Credentials.
- Verification Required.
- Server is lagging.
- I/O or other OS error.