-
Notifications
You must be signed in to change notification settings - Fork 4
Description
I am raising an issue for a repository that includes three interrelated projects: yetfl, etfl, and pytfa. It seems that these projects have not been maintained for a while, and the requirements.txt file does not specify the exact version numbers for the libraries. Therefore, for someone who is new to this project, it is challenging to configure the environment correctly and easily obtain the desired results.
After a series of fixes, I have successfully created a pre-built Docker image that can be pulled and used directly, eliminating the need to solve the environment issues individually.
Prerequisite steps: You must clone all three projects onto your computer and organize the file directory as follows; otherwise, the Docker image will not run:
└───parent_folder
└───pytfa (git cloned)
└───etfl (git cloned)
└───yetfl (git cloned)
Then, execute the following command to pull the Docker image:
docker pull device0/yetfl:latest
Once the image is successfully pulled, you can use the docker images command to view the image's ID.
To run the container, you need to correctly mount the Docker volumes. Here are the specific steps:
Navigate to parent_folder/etfl/docker. You should see a file named run or run.bat.
The content of this file should be as follows:
docker run --rm -it ^
-v %CD%\work:/home/pytfa/work ^
-v %CD%\..\..\pytfa:/src/pytfa ^
-v %CD%\..:/src/etfl ^
etfl-docker %*
The volumes are already mounted correctly for you in this script. You only need to replace the last line, etfl-docker, with the ID of my image:
docker run --rm -it ^
-v %CD%\work:/home/pytfa/work ^
-v %CD%\..\..\pytfa:/src/pytfa ^
-v %CD%\..:/src/etfl ^
<ID of my image> %*
After making this change, run the run file, and you will enter the container.
Once inside the container, navigate to:
cd /home/root/yetfl/code
Then run the following command:
python ./helper_gen_models_yeast.py
You will see that it starts working.
Please note that the instructions provided assume familiarity with Docker and assume that you have already cloned the necessary repositories.