zipline icon indicating copy to clipboard operation
zipline copied to clipboard

Zipline 1.4.0 + numexpr 2.6.1 + Python 3.6 on Conda installation

Open suitablyquantified opened this issue 4 years ago • 0 comments

SUMMARY: numexpr 2.6.1 bundled with zipline 1.4.0 on Anaconda fails with Python 3.6 conda environment. numexpr 2.7.1 resolves issue.

Environment

Python 3.6/Win10/64 Anaconda installed with: Anaconda3-2020.02-Windows-x86_64.exe

* Operating System: Win10/64 * Python Version: 3.6.10 * Python Bitness: 64 * How did you install Zipline: conda * Python packages: numexpr-2.6.1 | np114py36_0 121 KB Quantopian zipline-1.4.0 | np114py36_0 1.5 MB Quantopian

Description of Issue

Upon first run of Zipline 1.4.0 on Python 3.6 in a fresh environment, it complains about a requirement for numexpr >= 2.6.2

Traceback (most recent call last): File "C:\Users\st\anaconda3\envs\zip36\lib\site-packages\pkg_resources\__init__.py", line 582, in _build_master ws.require(__requires__) File "C:\Users\st\anaconda3\envs\zip36\lib\site-packages\pkg_resources\__init__.py", line 899, in require needed = self.resolve(parse_requirements(requirements)) File "C:\Users\st\anaconda3\envs\zip36\lib\site-packages\pkg_resources\__init__.py", line 790, in resolve raise VersionConflict(dist, req).with_context(dependent_req) pkg_resources.ContextualVersionConflict: (numexpr 2.6.1 (c:\users\st\anaconda3\envs\zip36\lib\site-packages), Requirement.parse('numexpr>=2.6.2'), {'tables'}) ... pkg_resources.ContextualVersionConflict: (numexpr 2.6.1 (c:\users\st\anaconda3\envs\zip36\lib\site-packages), Requirement.parse('numexpr>=2.6.2'), {'tables'})

Reproduction Steps

conda activate base conda create --name zip36 python=3.6 conda activate zip36 conda install zipline -c Quantopian zipline

What steps have you taken to resolve this already?

Easily worked around with pip install numexpr --upgrade

(this installs numexpr 2.7.1)

Suggested resolution

Bump numpexpr to 2.7.1 within the zipline instead of 2.6.2 in the zipline/py36 package on Anaconda.

Note: There is no issue with a Python 3.5 environment, but bumping numexpr to 2.7.1 in py35 for consistency across environments would be prudent.

suitablyquantified avatar Jul 24 '20 01:07 suitablyquantified