@@ -19,8 +19,8 @@ dpkg-reconfigure -f noninteractive tzdata || true
1919apt-get upgrade -y
2020apt-get install -y vim git wget cmake
2121
22- apt-get install -y libglfw3 libgl1-mesa-glx libosmesa6 libglew-dev libosmesa6-dev
23- apt-get install -y libglvnd0 libgl1 libglx0 libegl1 libgles2
22+ apt-get install -y libglfw3 libosmesa6 libglew-dev libosmesa6-dev
23+ apt-get install -y libglvnd0 libgl1 libglx0 libglx-mesa0 libegl1 libgles2
2424apt-get install -y g++ gcc patchelf
2525
2626this_dir=" $( cd " $( dirname " ${BASH_SOURCE[0]} " ) " > /dev/null 2>&1 && pwd ) "
@@ -36,7 +36,6 @@ git config --global --add safe.directory '*'
3636root_dir=" $( git rev-parse --show-toplevel) "
3737conda_dir=" ${root_dir} /conda"
3838env_dir=" ${root_dir} /env"
39- lib_dir=" ${env_dir} /lib"
4039
4140cd " ${root_dir} "
4241
7271printf " * Verified Python implementation: %s\n" " $python_impl "
7372
7473# 3. Install mujoco
75- printf " * Installing mujoco and related\n"
76- mkdir -p $root_dir /.mujoco
77- cd $root_dir /.mujoco/
78- # wget https://github.com/deepmind/mujoco/releases/download/2.1.1/mujoco-2.1.1-linux-x86_64.tar.gz
79- # tar -xf mujoco-2.1.1-linux-x86_64.tar.gz
80- wget https://mujoco.org/download/mujoco210-linux-x86_64.tar.gz
81- tar -xf mujoco210-linux-x86_64.tar.gz
82- cd " ${root_dir} "
8374
8475# 4. Install Conda dependencies
8576printf " * Installing dependencies (except PyTorch)\n"
@@ -89,9 +80,6 @@ if ! grep -q "python=${PYTHON_VERSION}" "${this_dir}/environment.yml"; then
8980fi
9081cat " ${this_dir} /environment.yml"
9182
92- export MUJOCO_PY_MUJOCO_PATH=$root_dir /.mujoco/mujoco210
93- # export MJLIB_PATH=$root_dir/.mujoco/mujoco-2.1.1/lib/libmujoco.so.2.1.1
94- export LD_LIBRARY_PATH=$LD_LIBRARY_PATH :$root_dir /.mujoco/mujoco210/bin
9583export SDL_VIDEODRIVER=dummy
9684export MUJOCO_GL=egl
9785export PYOPENGL_PLATFORM=egl
@@ -100,9 +88,7 @@ export COMPOSITE_LP_AGGREGATE=0
10088
10189conda env config vars set \
10290 MAX_IDLE_COUNT=1000 \
103- MUJOCO_PY_MUJOCO_PATH=$root_dir /.mujoco/mujoco210 \
10491 DISPLAY=:99 \
105- LD_LIBRARY_PATH=$LD_LIBRARY_PATH :$root_dir /.mujoco/mujoco210/bin \
10692 SDL_VIDEODRIVER=dummy \
10793 MUJOCO_GL=egl \
10894 PYOPENGL_PLATFORM=egl \
@@ -116,10 +102,6 @@ conda env update --file "${this_dir}/environment.yml" --prune
116102conda deactivate
117103conda activate " ${env_dir} "
118104
119- # install d4rl
120- pip install free-mujoco-py
121- pip install git+https://github.com/Farama-Foundation/d4rl@master#egg=d4rl
122-
123105# TODO: move this down -- will break torchrl installation
124106conda install -y -c conda-forge libstdcxx-ng=12
125107# # find libstdc - search in the env's lib directory first, then fall back to conda packages
144126conda deactivate
145127conda activate " ${env_dir} "
146128
147- # compile mujoco-py (bc it's done at runtime for whatever reason someone thought it was a good idea)
148- python -c " " " import gym;import d4rl" " "
149-
150- # install ale-py: manylinux names are broken for CentOS so we need to manually download and
151- # rename them
152-
153129# ============================================================================================ #
154130# ================================ PyTorch & TorchRL ========================================= #
155131
@@ -160,26 +136,28 @@ elif [[ ${#CU_VERSION} -eq 5 ]]; then
160136 CUDA_VERSION=" ${CU_VERSION: 2: 2} .${CU_VERSION: 4: 1} "
161137fi
162138echo " Using CUDA $CUDA_VERSION as determined by CU_VERSION ($CU_VERSION )"
163- version=" $( python -c " print('.'.join(\" ${CUDA_VERSION} \" .split('.')[:2]))" ) "
164-
165139# submodules
166140git submodule sync && git submodule update --init --recursive
167141
168- pip3 install ale-py -U
169- pip3 install " gym[atari,accept-rom-license]" " gymnasium>=1.1.0" -U
142+ # Install jax with CUDA support before ale-py to satisfy its build dependency
143+ # (ale-py source builds require jax/jaxlib which needs CUDA-compatible wheels)
144+ # See: https://docs.jax.dev/en/latest/installation.html
145+ pip install --upgrade " jax[cuda13-local]"
146+ pip install ale-py -U
147+ pip install " gymnasium[atari,accept-rom-license,mujoco]>=1.1.0" -U
170148
171149printf " Installing PyTorch with %s\n" " ${CU_VERSION} "
172150if [[ " $TORCH_VERSION " == " nightly" ]]; then
173151 if [ " ${CU_VERSION:- } " == cpu ] ; then
174- pip3 install --pre torch torchvision numpy==1.26.4 --index-url https://download.pytorch.org/whl/nightly/cpu -U
152+ pip install --pre torch torchvision numpy==1.26.4 --index-url https://download.pytorch.org/whl/nightly/cpu -U
175153 else
176- pip3 install --pre torch torchvision numpy==1.26.4 --index-url https://download.pytorch.org/whl/nightly/$CU_VERSION
154+ pip install --pre torch torchvision numpy==1.26.4 --index-url https://download.pytorch.org/whl/nightly/$CU_VERSION
177155 fi
178156elif [[ " $TORCH_VERSION " == " stable" ]]; then
179157 if [ " ${CU_VERSION:- } " == cpu ] ; then
180- pip3 install torch torchvision numpy==1.26.4 --index-url https://download.pytorch.org/whl/cpu
158+ pip install torch torchvision numpy==1.26.4 --index-url https://download.pytorch.org/whl/cpu
181159 else
182- pip3 install torch torchvision numpy==1.26.4 --index-url https://download.pytorch.org/whl/$CU_VERSION
160+ pip install torch torchvision numpy==1.26.4 --index-url https://download.pytorch.org/whl/$CU_VERSION
183161 fi
184162else
185163 printf " Failed to install pytorch"
@@ -194,9 +172,9 @@ python -c "import functorch"
194172
195173# install tensordict
196174if [[ " $RELEASE " == 0 ]]; then
197- pip3 install git+https://github.com/pytorch/tensordict.git
175+ pip install git+https://github.com/pytorch/tensordict.git
198176else
199- pip3 install tensordict
177+ pip install tensordict
200178fi
201179
202180printf " * Installing torchrl\n"
0 commit comments