Description
Overview
I just upgraded my robot to version 8.3.0 and ran into a problem with a python protocol that reads an excel file. To troubleshoot this issue, I tried to re-create my OT2 robot python environment on my computer. This does not seem to be possible.
My OT2 robot has the following libraries:
Package Version
--------------------- ------------
aiodns 1.1.1
aiohttp 3.9.3
aionotify 0.3.1
aiosignal 1.3.1
annotated-types 0.7.0
anyio 3.7.1
asgiref 3.4.1
asttokens 2.2.1
async-timeout 4.0.3
attrs 23.2.0
backcall 0.2.0
bleach 3.1.0
cchardet 2.1.4
cffi 1.15.1
charset-normalizer 3.0.1
click 8.1.2
comm 0.1.4
decorator 5.1.1
defusedxml 0.7.1
entrypoints 0.3
et-xmlfile 1.1.0
exceptiongroup 1.2.0
executing 1.2.0
fastapi 0.100.0
fastjsonschema 2.19.1
filetype 1.2.0
frozenlist 1.4.1
greenlet 2.0.2
h11 0.14.0
httptools 0.6.0
idna 3.3
importlib-metadata 4.6.3
ipykernel 6.20.2
ipython 8.16.1
ipython_genutils 0.2.0
jedi 0.18.2
Jinja2 3.1.2
jsonschema 4.17.3
jupyter-client 6.1.12
jupyter-core 4.6.1
MarkupSafe 2.1.1
matplotlib-inline 0.1.6
mistune 0.8.4
multidict 6.0.5
nbconvert 5.4.1
nbformat 5.9.2
nest-asyncio 1.5.8
notebook 6.0.3
numpy 1.21.6
openpyxl 3.1.2
opentrons 8.3.0
opentrons-hardware 0.0.0.dev0
opentrons-shared-data 8.3.0
otupdate 8.3.0
packaging 23.2
paho-mqtt 1.6.1
pandas 1.0.5
pandocfilters 1.4.2
parso 0.8.3
pexpect 4.8.0
pickleshare 0.7.5
pip 22.3.1
prometheus-client 0.6.0
prompt-toolkit 3.0.36
psutil 5.9.4
ptyprocess 0.7.0
pure-eval 0.2.2
pycares 4.3.0
pycparser 2.21
pydantic 2.9.2
pydantic_core 2.23.4
pydantic-settings 2.4.0
Pygments 2.14.0
PyJWT 2.6.0
pyrsistent 0.20.0
pyserial 3.5
python-dateutil 2.8.2
python-dotenv 1.0.1
python-multipart 0.0.6
pytz 2022.7
pyzmq 24.0.1
robot-server 8.3.0
Send2Trash 1.5.0
server-utils 0.0.0.dev0
setuptools 68.2.2
simplegeneric 0.8.1
six 1.16.0
smbus 1.1
sniffio 1.3.0
SQLAlchemy 1.4.51
stack-data 0.6.2
starlette 0.27.0
system-server 8.3.0
systemd-python 234
terminado 0.8.1
testpath 0.4.2
tornado 6.2
traitlets 5.8.0
typing_extensions 4.9.0
uvicorn 0.27.0.post1
uvloop 0.18.0
wcwidth 0.2.5
webencodings 0.5.1
websockets 9.1
wsproto 1.2.0
yarl 1.9.4
zipp 3.5.0
The python version is:
# python -V
Python 3.10.8
Steps to reproduce
I am trying to recreate this environment on my computer using the following yaml file:
name: ot2_v8
channels:
- conda-forge
- defaults
dependencies:
- pip
- python >= 3.10, < 3.11
- numpy = 1.21.6 # opentrons is very specific about the version of numpy they can use
- pandas == 1.0.5
- openpyxl
- jupyterlab
- seaborn
# some packages need to be installed by pip
- pip:
- opentrons == 8.3.0
This results in the following error message:
LibMambaUnsatisfiableError: Encountered problems while solving:
- package pandas-1.0.5-py36hcc50265_0 requires python_abi 3.6.* *_cp36m, but none of the providers can be installed
Could not solve for environment specs
The following packages are incompatible
├─ pandas 1.0.5 is installable with the potential options
│ ├─ pandas 1.0.5 would require
│ │ └─ python_abi 3.6.* *_cp36m, which can be installed;
│ ├─ pandas 1.0.5 would require
│ │ └─ python_abi 3.7.* *_cp37m, which can be installed;
│ ├─ pandas 1.0.5 would require
│ │ └─ python_abi 3.8.* *_cp38, which can be installed;
│ └─ pandas 1.0.5 conflicts with any installable versions previously reported;
└─ python >=3.10,<3.11 is not installable because there are no viable options
├─ python [3.10.0|3.10.1|...|3.10.9] would require
│ └─ python_abi 3.10.* *_cp310, which conflicts with any installable versions previously reported;
└─ python [3.10.0|3.10.10|...|3.10.9] conflicts with any installable versions previously reported.
The key libraries that seem to be incompatible are:
python 3.10
pandas 1.0.5
opentrons 8.3.0
Current behavior
It seems like version 8.3.0 of the robot software (which requires python >= 3.10) is not compatible with pandas version 1.0.5 (which requires python <= 3.8).
Expected behavior
The OT2 robot has a python environment that can be re-created on another computer.
It would be convenient if there was an automated way to do this, maybe a yaml file for venv or conda.
Operating system
None
System and robot setup or anything else?
I'm using an OT2 robot. I just upgraded it to app version 8.3.0.