Coder Social home page Coder Social logo

So many dependencies! about openbbterminal HOT 9 CLOSED

exislow avatar exislow commented on April 28, 2024
So many dependencies!

from openbbterminal.

Comments (9)

DidierRLopes avatar DidierRLopes commented on April 28, 2024 3

Hey @exislow ,

You're absolutely right. And this is what I'm working on today!

I'll leave requirements.txt to what is absolutely necessary. Add poetry for package management, and make it possible to build a docker image from it.

This should make the installation much more simple, and also decrease deploy time since I think the current requirements.txt has libraries that aren't being used.

from openbbterminal.

BigCandyBunny avatar BigCandyBunny commented on April 28, 2024 3

Quite challenging to get the large list of libraries to function. Using pip on the requirements.txt file did not cut it for me. I use Miniconda on Windows 10 and applied the command 'conda install -c conda-forge ' successfully where my first attempt with pip failed. Also, I downloaded the PyTorch library directly from its home page. Tensorflow also includes the Cuda Toolkit since I enjoy an nVidia GPU in my HW setup.

If you have installed a library with pip which is not functioning, then you need to delete it with pip before re-installing it with other means.

I was able to install GamestonkTerminal with Python 3.7.9 and TensorFlow 2.4.1 and my complete list of dependencies can be found in the attached .yml file (dubbed as .txt since Github does not recognize the .yml format...).

I do think there is much to gain from streamlining the use of libraries and simplify installation for the end user of this impressive effort by Didier R. Lopes.

gs_environment_latest.txt

from openbbterminal.

piiq avatar piiq commented on April 28, 2024 2

Hey @DidierRLopes 👋
This is the minimal list of requirements that allowed me to run the app on mac (python 3.8)

alpha-vantage
beautifulsoup4
fbprophet
finviz
flair
fundamentalanalysis
holidays
ipython
ipykernel
iso8601
matplotlib
numpy
pandas
pandas-ta
pmdarima
praw
prettytable
psaw
python_dateutil
pytrends
pytz
quandl
rapidfuzz
requests
scikit_learn
statsmodels
tensorflow
TimeSeriesCrossValidation @ git+https://github.com/DidierRLopes/TimeSeriesCrossValidation@1e29d393204abb3bde23ff3f15258ed85d3b263e
yfinance

Also to get the charts I had to specify a backend for matplotlib in ~/.matplotlib/marplotlibrc. This was backend: MacOSX for me.

Do you want a PR with requirements change?

from openbbterminal.

exislow avatar exislow commented on April 28, 2024 1

@piiq I will try to downgrade pip. Thanks.

@DidierRLopes I have send you a pull request with basic refactoring.

from openbbterminal.

exislow avatar exislow commented on April 28, 2024

I am not a fan of peotry. Poetry can be really become really blown up. Also not all IDEs support poetry right now. E.g. IntelliJ cannot install files to my venv Python interpreter for a specific project. I would suggest to user requirements.txt as it is but with proper version pinning.

from openbbterminal.

exislow avatar exislow commented on April 28, 2024

@piiq what versions did you use of the libraries and how did you have installed fbprophet on macOS? I am still stuck get it installed on Catalina.

from openbbterminal.

DidierRLopes avatar DidierRLopes commented on April 28, 2024

Thank you @piiq for this list. Amazing work! No need for PR I'm currently installing libraries 1 by 1 with poetry in a docker image to make sure that the project builds smoothly with all necessary libraries. But your list is excellent, because it will allow me to compare my requirements.txt at the end with what you have, and I may ping you if there are any differences.

@exislow my idea was to export the poetry requirements to a requirements.txt file and have:

  • Docker image to run this resulting requirement list. This will be useful for non devs as they'll be able to get the app deployed smoothly.
  • Keep the poetry files for later use, and/or for people who like it, and prefer to use poetry within a pyenv.
    I'm new to both poetry and dockers, but I thought that this was the way that would make the most people happy. Let me know if you think otherwise.

from openbbterminal.

piiq avatar piiq commented on April 28, 2024

@exislow i use latest versions available on pip.
I use pip 20 and fbprophet installs fine. It has some old school setup.py installation that's deprecated and removed in pip 21.
I'm on Big Sur

from openbbterminal.

shadycuz avatar shadycuz commented on April 28, 2024

I'm going to close this now. Lots has changed since this was opened. You can run git checkout main, git pull main to fetch the latest and attempt to reinstall.

The project has been testest to work with Pythons 3.6.8, 3.7 and 3.8. Tensorflow doesn't support python 3.9 yet.

We are using poetry to manage the project and that is one option for installing. The other is to install with the requirements.txt. Feel free to use any virtual environment you want.

Just make sure to run pip install --upgrade pip as that was affecting some people as tensorflow requires pip >= 2.19 (or something like that).

We also have a dockerfile if you would prefer to use docker. We will also soon be offering an "official image" on dockerhub.

Oh and Windows is only supported with docker because pystan is not available for windows (officially).

If you are having problems please open a new issue =).

🚀 GamestonkTerminal 🌔

from openbbterminal.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.