USEPA / ElectricityLCI

Creative Commons Zero v1.0 Universal
25 stars 11 forks source link

failure to run `python -m electricitylci.main` #268

Open fchichorro opened 1 day ago

fchichorro commented 1 day ago

I installed electricitylci like this:

pip install git+https://github.com/USEPA/ElectricityLCI.git@v1.0.1#egg=electricitylci

But when I run python -m electricitylci.main I get the following:

image

Maybe this can be fixed by adding scipy to the requirements.txt? I did pip install scipy after this, but it still didn't seem to work:

image

I am using python 3.10.12 on linux mint.

Any idea of what might be causing this?

dt-woods commented 1 day ago

Possibly a mis-match of old and new packages. eLCI has a challenging dependency list (I have a special formula to get these packages installed correctly). Below is the package list I have for eLCIv1.0.1.

If you are actively using eLCI, I recommend trying the latest development branch either here or forked here. This will give you an opportunity to give feedback on the next iteration of the baseline model, rather than patches for eLCI v1, which has a decent list of backlogged problems all being solved in version 2.

Package Version
attrs 23.2.0
beautifulsoup4 4.12.3
bs4 0.0.2
certifi 2024.2.2
charset-normalizer 3.3.2
contourpy 1.2.0
cycler 0.12.1
ElectricityLCI 1.0.1
et-xmlfile 1.1.0
fedelemflowlist 1.0.2
fonttools 4.48.1
h11 0.14.0
idna 3.6
kiwisolver 1.4.5
matplotlib 3.8.2
mpmath 1.3.0
numpy 1.26.4
olca-ipc 0.0.10
olca-schema 0.0.12
openpyxl 3.1.2
outcome 1.3.0.post0
packaging 23.2
pandas 2.2.0
pillow 10.2.0
pip 24.0
pyarrow 15.0.0
pyparsing 3.1.1
PySocks 1.7.1
python-dateutil 2.8.2
python-dotenv 1.0.1
pytz 2024.1
PyYAML 6.0.1
regex 2023.12.25
requests 2.31.0
scipy 1.12.0
seaborn 0.13.2
selenium 4.17.2
setuptools 69.0.3
six 1.16.0
sniffio 1.3.0
sortedcontainers 2.4.0
soupsieve 2.5
StEWI 0.9.3
sympy 1.12
trio 0.24.0
trio-websocket 0.11.1
typing_extensions 4.9.0
tzdata 2024.1
urllib3 2.2.0
webdriver-manager 4.0.1
wheel 0.42.0
wsproto 1.2.0
xlrd 2.0.1
bl-young commented 1 day ago

Possibly a mis-match of old and new packages. eLCI has a challenging dependency list

It would be good to set up some basic install testing, which we can do through github actions on this repo through the EPA account, and for which we have set up on many packages (whether or not other kinds of testing are added later). Though it would need to be added on master and then pulled in to other branches.

fchichorro commented 1 day ago

Thank you for your responses! I will probably try the 1.0.1 option first. Cheers

fchichorro commented 21 hours ago

I still got some errors trying to build the 1.0.1. For future reference, this is what I've done:

conda create -n eLCI
conda activate eLCI
conda install pip
/home/filipe/miniconda3/envs/eLCI/bin/pip install -r eLCI_requirements.txt

where eLCI_requirements.txt contains

attrs==23.2.0
beautifulsoup4==4.12.3
bs4==0.0.2
certifi==2024.2.2
charset-normalizer==3.3.2
contourpy==1.2.0
cycler==0.12.1
et-xmlfile==1.1.0
fonttools==4.48.1
h11==0.14.0
idna==3.6
kiwisolver==1.4.5
matplotlib==3.8.2
mpmath==1.3.0
numpy==1.26.4
olca-ipc==0.0.10
olca-schema==0.0.12
openpyxl==3.1.2
outcome==1.3.0.post0
packaging==23.2
pandas==2.2.0
pillow==10.2.0
pip==24.0
pyarrow==15.0.0
pyparsing==3.1.1
PySocks==1.7.1
python-dateutil==2.8.2
python-dotenv==1.0.1
pytz==2024.1
PyYAML==6.0.1
regex==2023.12.25
requests==2.31.0
scipy==1.12.0
seaborn==0.13.2
selenium==4.17.2
setuptools==69.0.3
six==1.16.0
sniffio==1.3.0
sortedcontainers==2.4.0
soupsieve==2.5
StEWI==0.9.3
sympy==1.12
trio==0.24.0
trio-websocket==0.11.1
typing_extensions==4.9.0
tzdata==2024.1
urllib3==2.2.0
webdriver-manager==4.0.1
wheel==0.42.0
wsproto==1.2.0
xlrd==2.0.1
#ElectricityLCI==1.0.1
#fedelemflowlist==1.0.2

image image

Next I was going to isntall ElectricityLCI and fedelemflowlist manually but couldn't reach until the end

Not sure what the problem is now...

m-jamieson commented 19 hours ago

I would suggest forcing an older version of python as well. From the log above, it appears you're using 3.13. In my now very old elci environment, I have python 3.7. My environment is in the code block below.

Alternatively, I really do recommend you try using that development branch where you will get access to a number of other fixes. Even if you do get 1.0.1 running, there are a number external files that either don't exist in the same location on the web or the format has changed making it incompatible with the code as written.

name: elci_101_08262020
channels:
  - defaults
dependencies:
  - blas=1.0=mkl
  - brotlipy=0.7.0=py37he774522_1000
  - ca-certificates=2020.7.22=0
  - certifi=2020.6.20=py37_0
  - cffi=1.14.2=py37h7a1dbc1_0
  - chardet=3.0.4=py37_1003
  - cryptography=3.0=py37h7a1dbc1_0
  - cycler=0.10.0=py37_0
  - et_xmlfile=1.0.1=py_1001
  - freetype=2.10.2=hd328e21_0
  - icc_rt=2019.0.0=h0cc432a_1
  - icu=58.2=ha925a31_3
  - idna=2.10=py_0
  - intel-openmp=2020.2=254
  - jdcal=1.4.1=py_0
  - jpeg=9b=hb83a4c4_2
  - kiwisolver=1.2.0=py37h74a9793_0
  - libpng=1.6.37=h2a8f88b_0
  - libtiff=4.1.0=h56a325e_1
  - lz4-c=1.9.2=h62dcd97_1
  - matplotlib=3.3.1=0
  - matplotlib-base=3.3.1=py37hba9282a_0
  - mkl=2020.2=256
  - mkl-service=2.3.0=py37hb782905_0
  - mkl_fft=1.1.0=py37h45dec08_0
  - mkl_random=1.1.1=py37h47e9c7a_0
  - mpmath=1.1.0=py37_0
  - numpy=1.19.1=py37h5510c5b_0
  - numpy-base=1.19.1=py37ha3acd2a_0
  - olefile=0.46=py37_0
  - openpyxl=3.0.5=py_0
  - openssl=1.1.1g=he774522_1
  - pandas=1.1.1=py37ha925a31_0
  - pillow=7.2.0=py37hcc1f983_0
  - pip=20.2.2=py37_0
  - pycodestyle=2.6.0=py_0
  - pycparser=2.20=py_2
  - pydocstyle=5.1.0=py_0
  - pyopenssl=19.1.0=py_1
  - pyparsing=2.4.7=py_0
  - pyqt=5.9.2=py37h6538335_2
  - pysocks=1.7.1=py37_1
  - python=3.7.7=h81c818b_4
  - python-dateutil=2.8.1=py_0
  - pytz=2020.1=py_0
  - pyyaml=5.3.1=py37he774522_1
  - qt=5.9.7=vc14h73c81de_0
  - requests=2.24.0=py_0
  - scipy=1.5.2=py37h9439919_0
  - seaborn=0.10.1=py_0
  - setuptools=49.6.0=py37_0
  - sip=4.19.8=py37h6538335_0
  - six=1.15.0=py_0
  - snowballstemmer=2.0.0=py_0
  - sqlite=3.33.0=h2a8f88b_0
  - sympy=1.6.2=py37_0
  - tk=8.6.10=he774522_0
  - tornado=6.0.4=py37he774522_1
  - urllib3=1.25.10=py_0
  - vc=14.1=h0510ff6_4
  - vs2015_runtime=14.16.27012=hf0eaf9b_3
  - wheel=0.35.1=py_0
  - win_inet_pton=1.1.0=py37_0
  - wincertstore=0.2=py37_0
  - xlrd=1.2.0=py37_0
  - xz=5.2.5=h62dcd97_0
  - yaml=0.2.5=he774522_0
  - zlib=1.2.11=h62dcd97_4
  - zstd=1.4.5=h04227a9_0
  - pip:
      - argparse==1.4.0
      - beautifulsoup4==4.9.1
      - bs4==0.0.1
      - colorama==0.4.3
      - configparser==5.0.0
      - crayons==0.3.1
      - electricitylci==1.0.1
      - fedelemflowlist==1.0.2
      - olca-ipc==0.0.9
      - pyarrow==1.0.1
      - regex==2020.7.14
      - selenium==3.141.0
      - soupsieve==2.0.1
      - stewi==0.9.3
      - webdriver-manager==3.2.2
dt-woods commented 19 hours ago

I had similar problems. Here's my recipe for eLCI v1.0.1 (note that the package version numbers are from February 2024, so they may be different for you):