AlgoTraders / stock-analysis-engine

Backtest 1000s of minute-by-minute trading algorithms for training AI with automated pricing data from: IEX, Tradier and FinViz. Datasets and trading performance automatically published to S3 for building AI training datasets for teaching DNNs how to trade. Runs on Kubernetes and docker-compose. >150 million trading history rows generated from +5000 algorithms. Heads up: Yahoo's Finance API was disabled on 2019-01-03 https://developer.yahoo.com/yql/
https://stock-analysis-engine.readthedocs.io/en/latest/README.html
1.04k stars 251 forks source link

pkg_resources.ContextualVersionConflict: numpy 1.14.0 #373

Open ugurtigli opened 4 years ago

ugurtigli commented 4 years ago

Environment

Description of Issue

numpy version conflicts with what is required by tensorflow vs. mains stack.

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/opt/venv/bin/fetch", line 6, in from pkg_resources import load_entry_point File "/opt/venv/lib/python3.6/site-packages/pkg_resources/init.py", line 3251, in @_call_aside File "/opt/venv/lib/python3.6/site-packages/pkg_resources/init.py", line 3235, in _call_aside f(*args, **kwargs) File "/opt/venv/lib/python3.6/site-packages/pkg_resources/init.py", line 3264, in _initialize_master_working_set working_set = WorkingSet._build_master() File "/opt/venv/lib/python3.6/site-packages/pkg_resources/init.py", line 585, in _build_master return cls._build_from_requirements(requires) File "/opt/venv/lib/python3.6/site-packages/pkg_resources/init.py", line 598, in _build_from_requirements dists = ws.resolve(reqs, Environment()) File "/opt/venv/lib/python3.6/site-packages/pkg_resources/init.py", line 791, in resolve raise VersionConflict(dist, req).with_context(dependent_req) pkg_resources.ContextualVersionConflict: (numpy 1.14.0 (/opt/venv/lib/python3.6/site-packages), Requirement.parse('numpy<2.0,>=1.16.0'), {'tensorflow'}) Here is how you can reproduce this issue on your machine:

What steps have you taken to resolve this already?

Tried to upgrade numpy however, then main engine stops working since it require version lower (i.e. 1.14) ...

Anything else?

...

vmajor commented 4 years ago

I have the same issue.

Parser demands numpy<=1.14 and numpy<2.0,>=1.14.5 simultaneously.

This seems unresolvable. I have 1.18.0 which is the latest pip3 installable version on Ubuntu 18.04

vmajor commented 4 years ago

SOLVED:

It is a cludge, but it works to get me to the next error (KeyError: 'No metadata except PKG-INFO is available'):

  1. Uninstall numpy from both the venv and user that you are using to run sa (in my case root due to the instructions to run it from /opt/sa)

  2. install numpy 1.13.3 either with pip or pip3. In my case: pip3 install 'numpy==1.13.3'

  3. If you were blessed with multiple python installations just because, symlink from python3.6 to python3:

ln -s /usr/local/lib/python3.6/dist-packages/numpy  /usr/lib/python3/dist-packages/numpy
ln -s /usr/local/lib/python3.6/dist-packages/numpy-1.13.3.dist-info  /usr/lib/python3/dist-packages/numpy-1.13.3.dist-info
atulhm commented 4 years ago

Any progress on this issue? I am having the same problem

jay-johnson commented 4 years ago

Sorry yea the requirements needed to be updated.

I got tests passing with yesterday's release (pypi's latest should be the same as well):

pip list | grep -E "stock-analysis-engine|numpy|pandas|tensorflow"
numpy                         1.19.1
pandas                        1.0.5
stock-analysis-engine         1.9.15      /opt/sa
tensorflow                    2.2.0
python --version
Python 3.8.0

Hopefully this new build resolves this issue.