Hi Streamli Team, thx for what you have been building. Streamlit is a wonderful tool.
My question is: While trying to integrate Pyomo and PAO into my streamlit app. I got multiple errors but manage to make the app run, however, I am not sure that what I did is correct. Actually, it is prob. wrong because I am not able to use all solvers I was expecting to (i.e. Coin-or Branch and Cut Solver does not work) - a second question - should Coin-or Branch and Cut be in the requirements.txt or in the packages.txt?
The core python dependencies I was expecting to use is pyomo, pao, streamlit, plotly and shillelagh. Most of these dependencies are expected to by download and managed via Conda but the .yml file config does not work in my deployment while the .txt does.
1) Current Approach: WRONG (but it runs)
- requirement.txt
- packages.txt
packages.txt:
libglpk-dev
libgmp3-dev
glpk-utils
requirement.txt:
altair==4.2.2
appdirs==1.4.4
appnope==0.1.3
apsw==3.41.0.0
astroid==2.15.0
asttokens==2.2.1
attrs==21.4.0
backcall==0.2.0
backports.functools-lru-cache==1.6.4
beautifulsoup4==4.11.2
blinker==1.5
boto3==1.26.85
botocore==1.29.85
brotlipy==0.7.0
build==0.10.0
cachetools==5.3.0
certifi==2022.12.7
cffi==1.15.1
cfgv==3.3.1
charset-normalizer==2.1.1
click==8.1.3
cloudpickle==2.2.1
codespell==2.2.2
comm==0.1.2
coverage==7.2.1
cryptography==3.4.8
debugpy==1.6.6
decorator==5.1.1
dill==0.3.6
distlib==0.3.6
entrypoints==0.4
exceptiongroup==1.1.0
executing==1.2.0
fastjsonschema==2.16.3
filelock==3.9.0
freezegun==1.2.2
gitdb==4.0.10
GitPython==3.1.31
glpk==0.4.7
google-auth==2.16.2
greenlet==2.0.2
gsheetsdb==0.1.13.1
html5lib==1.1
identify==2.5.18
idna==3.4
importlib-metadata==6.0.0
importlib-resources==5.12.0
iniconfig==2.0.0
ipykernel==6.21.2
ipython==8.11.0
ipywidgets==8.0.4
isort==5.12.0
itsdangerous==2.1.2
jedi==0.18.2
Jinja2==3.1.2
jmespath==1.0.1
jsonpath-python==1.0.6
jsonschema==4.17.3
jupyter_client==8.0.3
jupyter_core==5.2.0
jupyterlab-widgets==3.0.5
lazy-object-proxy==1.9.0
markdown-it-py==2.2.0
MarkupSafe==2.1.2
matplotlib-inline==0.1.6
mccabe==0.7.0
mdurl==0.1.0
mo-dots==4.22.21108
mo-future==3.147.20327
mo-imports==3.149.20327
mo-kwargs==4.22.21108
mo-logs==4.23.21108
moz-sql-parser==4.40.21126
munch==2.5.0
nbformat==5.7.3
nest-asyncio==1.5.6
nodeenv==1.7.0
nose==1.3.7
numpy==1.24.2
packaging==23.0
pandas==1.5.3
pao==1.0.2
parso==0.8.3
pexpect==4.8.0
pickleshare==0.7.5
Pillow==9.4.0
pip==22.3.1
pip-tools==6.12.3
pkgutil_resolve_name==1.3.10
platformdirs==3.1.0
pluggy==1.0.0
ply==3.11
pooch==1.7.0
pre-commit==3.1.1
prompt-toolkit==3.0.38
protobuf==3.20.3
psutil==5.9.4
ptyprocess==0.7.0
pure-eval==0.2.2
pyarrow==8.0.0
pyasn1==0.4.8
pyasn1-modules==0.2.8
pycparser==2.21
pydeck==0.8.0b4
pyfakefs==5.1.0
Pygments==2.14.0
pylint==2.16.4
Pympler==1.0.1
Pyomo==6.5.0
pyOpenSSL==20.0.1
pyproject_hooks==1.0.0
pyrsistent==0.19.3
PySocks==1.7.1
pytest==7.2.2
pytest-cov==4.0.0
pytest-integration==0.2.2
pytest-mock==3.10.0
python-dateutil==2.8.2
pytz==2022.7.1
pytz-deprecation-shim==0.1.0.post0
PyUtilib==6.0.0
PyYAML==6.0
pyzmq==25.0.0
requests==2.28.2
requests-cache==0.7.1
requests-mock==1.10.0
rich==13.3.2
rsa==4.9
s3transfer==0.6.0
scipy==1.10.1
semver==2.13.0
setuptools==65.6.3
shillelagh==1.2.0
six==1.16.0
smmap==3.0.5
soupsieve==2.4
SQLAlchemy==2.0.5.post1
stack-data==0.6.2
streamlit==1.19.0
tabulate==0.8.9
toml==0.10.2
tomli==2.0.1
tomlkit==0.11.6
toolz==0.12.0
tornado==6.2
traitlets==5.9.0
typing_extensions==4.4.0
tzdata==2022.7
tzlocal==4.2
url-normalize==1.4.3
urllib3==1.26.14
validators==0.20.0
virtualenv==20.20.0
watchdog==2.3.1
wcwidth==0.2.6
webencodings==0.5.1
wheel==0.38.4
widgetsnbextension==4.0.5
wrapt==1.15.0
zipp==3.15.0
plotly==5.13.1
Pyutilib==6.0.0
2) Desired Approach: (CONDA)
- environment.yml (conda and pip)
- Do I need a packages.txt here too?
Environment.yml:
name: envTest
channels:
- conda-forge
- defaults
dependencies:
- ampl-mp=3.1.0
- brotlipy=0.7.0
- bzip2=1.0.8
- ca-certificates=2022.12.7
- certifi=2022.12.7
- cffi=1.15.1
- charset-normalizer=2.1.1
- coin-or-cbc=2.10.8
- coin-or-cgl=0.60.6
- coin-or-clp=1.17.7
- coin-or-osi=0.108.7
- coin-or-utils=2.11.6
- cryptography=39.0.2
- glpk=5.0
- gmp=6.2.1
- idna=3.4
- ipopt=3.14.11
- libblas=3.9.0
- libcblas=3.9.0
- libcxx=15.0.7
- libedit=3.1.20191231
- libffi=3.4.2
- libgfortran=5.0.0
- libgfortran5=12.2.0
- libiconv=1.17
- liblapack=3.9.0
- liblapacke=3.9.0
- libopenblas=0.3.21
- libsqlite=3.40.0
- libzlib=1.2.13
- llvm-openmp=16.0.0
- metis=5.1.0
- mumps-include=5.2.1
- mumps-seq=5.2.1
- munch=2.5.0
- ncurses=6.3
- nose=1.3.7
- numpy=1.24.2
- openssl=3.1.0
- packaging=23.0
- pao=1.0.2
- pip=22.3.1
- platformdirs=3.1.1
- ply=3.11
- pooch=1.7.0
- pycparser=2.21
- pyomo=6.5.0
- pyopenssl=23.0.0
- pysocks=1.7.1
- python=3.11.0
- python_abi=3.11
- pyutilib=6.0.0
- readline=8.1.2
- requests=2.28.2
- scipy=1.10.1
- scotch=6.0.9
- setuptools=67.6.0
- six=1.16.0
- tk=8.6.12
- typing-extensions=4.5.0
- typing_extensions=4.5.0
- unixodbc=2.3.10
- urllib3=1.26.15
- wheel=0.40.0
- xz=5.2.6
- zlib=1.2.13
- pip:
- altair==4.2.2
- apsw==3.41.0.0
- attrs==22.2.0
- blinker==1.5
- cachetools==5.3.0
- click==8.1.3
- decorator==5.1.1
- entrypoints==0.4
- gitdb==4.0.10
- gitpython==3.1.31
- greenlet==2.0.2
- importlib-metadata==6.1.0
- jinja2==3.1.2
- jsonschema==4.17.3
- markdown-it-py==2.2.0
- markupsafe==2.1.2
- mdurl==0.1.2
- pandas==1.5.3
- pillow==9.4.0
- plotly==5.13.1
- protobuf==3.20.3
- pyarrow==11.0.0
- pydeck==0.8.0
- pygments==2.14.0
- pympler==1.0.1
- pyrsistent==0.19.3
- python-dateutil==2.8.2
- pytz==2022.7.1
- pytz-deprecation-shim==0.1.0.post0
- rich==13.3.2
- semver==2.13.0
- shillelagh==1.2.0
- smmap==5.0.0
- sqlalchemy==2.0.7
- streamlit==1.20.0
- tenacity==8.2.2
- toml==0.10.2
- toolz==0.12.0
- tornado==6.2
- tzdata==2022.7
- tzlocal==4.3
- validators==0.20.0
- zipp==3.15.0
prefix: /Users/lvicen/opt/anaconda3/envs/envTest