Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add requirements_freeze.txt file to help lock down a working environment #155

Merged
merged 2 commits into from
Apr 25, 2020

Conversation

dmuldrew
Copy link
Collaborator

@dmuldrew dmuldrew commented Apr 23, 2020

Purpose

The requirements_freeze.txt provides a complete list of installed package versions and dependencies of a known working environment. This provides a reference to revert to if the requirements.txt file generates an unusable environment in the future. Additional discussion can be found in the closed PR here:
#147

What is the code doing

In order to standardize the environment that the freeze file is generates in, I used a Python:3.65 docker image found here:
https://hub.docker.com/_/python
I didn't see much in the way of extra packages compared to conda.

The code used to automatically generate this file is within this branch:
https://github.com/intvenlab/PowerSimData/compare/dependency_docker_generation

Time to review

30min

@dmuldrew dmuldrew added this to the Egg Hunt milestone Apr 23, 2020
@dmuldrew dmuldrew requested review from kasparm and rouille April 23, 2020 17:25
@rouille
Copy link
Collaborator

rouille commented Apr 23, 2020

I have the same list of packages along with the same version:

Package            Version
------------------ -------
asn1crypto         1.3.0  
atomicwrites       1.3.0  
attrs              19.3.0 
bcrypt             3.1.7  
cffi               1.14.0 
cryptography       2.4.2  
geographiclib      1.50   
geopy              1.20.0 
idna               2.9    
importlib-metadata 1.6.0  
jsonpickle         1.2    
more-itertools     8.2.0  
numpy              1.16.0 
pandas             0.25.3 
paramiko           2.4.2  
pip                20.0.2 
pipdeptree         0.13.2 
pluggy             0.13.1 
py                 1.8.1  
pyasn1             0.4.8  
pycparser          2.20   
PyNaCl             1.3.0  
pytest             4.5.0  
python-dateutil    2.8.1  
pytz               2019.3 
scipy              1.2.0  
setuptools         39.0.1 
six                1.14.0 
tqdm               4.29.1 
wcwidth            0.1.9  
zipp               3.1.0  

I have pip, pipdeptree and setuptools too. I agree that these should not be in the freeze. You do have powersimdata==0.3. Do we need to list it in its own package? What do you think @kasparm. Also, currently PowerSimData import modules in PreREISE and PostREISE. I will submit some PRs tonight that remove these dependencies. Perhaps, you should wait that these PRs go in so you don't have to list these dependencies in the requirements.

@kasparm
Copy link
Contributor

kasparm commented Apr 24, 2020

@rouille the package itself should not be part of the requirements.

@rouille
Copy link
Collaborator

rouille commented Apr 24, 2020

@dmuldrew can you then remove powersimdata==0.3 from the list.

Copy link
Contributor

@kasparm kasparm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good.

@dmuldrew dmuldrew merged commit a1d17f1 into develop Apr 25, 2020
@dmuldrew dmuldrew deleted the pip_freeze branch April 25, 2020 00:24
@ahurli ahurli mentioned this pull request Mar 11, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants