yunshengtian / Assemble-Them-All

[SIGGRAPH Asia 2022] Assemble Them All: Physics-Based Planning for Generalizable Assembly by Disassembly

Home Page:http://assembly.csail.mit.edu

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Suggestion with environment

smttsp opened this issue · comments

Hi there,

I wanted to use your repo in my project and I realized that you are using python 3.7.

To my experience, Apple M1/M2 machines have problems with python <3.9. Also, since it is python 3.7, I had a lot of other issues, like library not found etc (not sure if it is my system or general problem). But a lot of dependencies are outdated and most likely some will start to get deprecated/not supported soon.

So, I updated your environment.yml file little bit and once the installation was completed, I exported the new yml file. (added txt at the extension now to be able to upload it to git)

environment2.yml.txt

The other issue is that python setup.py install is deprecated. Instead I used pip install .


I tested the new environment on Mac M2, it works fine. I am pretty sure it should be fine in other OSs too. But it is better to test.

Hi @smttsp , thank you for your suggestions! Though I am using Apple M1 and haven't had such issues, I will add this yml as a pointer in the readme in case more people have similar issues.

Hi all, I was only able to install using the environment file provided by @smttsp.
However, I noticed that @smttsp environment file has redmax-py listed as a pip dependency, which will lead to conda failing to create the environment. Since redmax-py gets installed by running

cd simulation 
pip install .

I assume @smttsp generated the environment.yml after running pip install ..

If you remove redmax-py from the pip dependencies in environment2.yml, it should work out of the box. Alternatively, you can replace redmax-py in the pip dependencies with ./simulation. Then you can skip the cd simulation ... step, because pip will do it for you during conda env create .... It should look something like this:

name: assembly3_11
channels:
  - conda-forge
  - defaults
dependencies:
  - black=23.11.0
  - bzip2=1.0.8
  - ca-certificates=2023.11.17
  - click=8.1.7
  - libcxx=16.0.6
  - libexpat=2.5.0
  - libffi=3.4.2
  - libsqlite=3.44.2
  - libzlib=1.2.13
  - mypy_extensions=1.0.0
  - ncurses=6.4
  - openssl=3.2.0
  - packaging=23.2
  - pathspec=0.12.1
  - pip=23.3.2
  - platformdirs=4.1.0
  - python=3.11.7
  - python_abi=3.11
  - readline=8.2
  - ruff=0.1.8
  - setuptools=68.2.2
  - sqlite=3.44.2
  - tk=8.6.13
  - tzdata=2023c
  - wheel=0.42.0
  - xz=5.2.6
  - zlib=1.2.13
  - pip:
      - asttokens==2.4.1
      - backcall==0.2.0
      - certifi==2023.11.17
      - charset-normalizer==3.3.2
      - cloudpickle==3.0.0
      - contourpy==1.2.0
      - cycler==0.12.1
      - cython==3.0.7
      - decorator==5.1.1
      - executing==2.0.1
      - fonttools==4.47.0
      - gym==0.26.2
      - gym-notices==0.0.8
      - idna==3.6
      - importlib-metadata==7.0.0
      - ipython==8.18.1
      - jedi==0.19.1
      - joblib==1.3.2
      - kiwisolver==1.4.5
      - matplotlib==3.8.2
      - matplotlib-inline==0.1.6
      - networkx==3.2.1
      - numpy==1.26.2
      - parso==0.8.3
      - pexpect==4.9.0
      - pickleshare==0.7.5
      - pillow==10.1.0
      - prompt-toolkit==3.0.43
      - ptyprocess==0.7.0
      - pure-eval==0.2.2
      - pyglet==2.0.10
      - pygments==2.17.2
      - pyparsing==3.1.1
      - pyquaternion==0.9.9
      - python-dateutil==2.8.2
      - python-fcl==0.7.0.5
      # - redmax-py==0.0.1
      - ./simulation
      - requests==2.31.0
      - rtree==1.1.0
      - scikit-learn==1.3.2
      - scipy==1.11.4
      - six==1.16.0
      - sortedcontainers==2.4.0
      - stack-data==0.6.3
      - threadpoolctl==3.2.0
      - tqdm==4.66.1
      - traitlets==5.14.0
      - trimesh==4.0.7
      - typing-extensions==4.9.0
      - urllib3==2.1.0
      - wcwidth==0.2.12
      - zipp==3.17.0

Hey @DusGor,

Yes, good catch! It seems I forgot to delete the redmax-py from the environment2.yml file after generating it.

Here is an updated environment2.yml.txt as @DusGor recommended. This should be sufficient for installation

@DusGor

Don't you get a ton of porting errors using 3.11 and all the dependency changes? Do you just fix them as you go?