metadriverse / policydissect

[NeurIPS 2022] Official implementation of the paper: "Human-AI Shared Control via Policy Dissection"
Apache License 2.0
48 stars 5 forks source link

metadata-generation-failed by installation #20

Closed HongyiZhouCN closed 1 year ago

HongyiZhouCN commented 1 year ago

Hi, I was trying to install the package on my local machine following the basic installation guide in the readme. After executing pip install -e . I encounter the following error. I want to ask if you have any insight on how to fix this?

Obtaining file:///home/hongyi/workspace/play_ground/policydissect Preparing metadata (setup.py) ... error error: subprocess-exited-with-error

× python setup.py egg_info did not run successfully. │ exit code: 1 ╰─> [19 lines of output] error: Multiple top-level packages discovered in a flat-layout: ['play', 'policydissect'].

  To avoid accidental inclusion of unwanted files or directories,
  setuptools will not proceed with this build.

  If you are trying to create a single distribution with multiple packages
  on purpose, you should not rely on automatic discovery.
  Instead, consider the following options:

  1. set up custom discovery (`find` directive with `include` or `exclude`)
  2. use a `src-layout`
  3. explicitly set `py_modules` or `packages` with a list of names

  To find more information, look for "package discovery" on setuptools docs.
  linux-x86_64
  numpy is enabled.
  numpy_include_dirs = /home/hongyi/anaconda3/envs/policydissect/lib/python3.7/site-packages/numpy/core/include
  linux
  ['policydissect', 'policydissect.metadrive', 'policydissect.weights', 'policydissect.quadrupedal', 'policydissect.utils', 'policydissect.gym', 'policydissect.legged_gym', 'policydissect.quadrupedal.torchrl', 'policydissect.quadrupedal.vision4leg', 'policydissect.quadrupedal.starter', 'policydissect.quadrupedal.torchrl.collector', 'policydissect.quadrupedal.torchrl.replay_buffers', 'policydissect.quadrupedal.torchrl.utils', 'policydissect.quadrupedal.torchrl.policies', 'policydissect.quadrupedal.torchrl.algo', 'policydissect.quadrupedal.torchrl.env', 'policydissect.quadrupedal.torchrl.networks', 'policydissect.quadrupedal.torchrl.collector.para', 'policydissect.quadrupedal.torchrl.replay_buffers.shared', 'policydissect.quadrupedal.torchrl.algo.on_policy', 'policydissect.quadrupedal.torchrl.algo.off_policy', 'policydissect.quadrupedal.vision4leg.envs', 'policydissect.quadrupedal.vision4leg.utilities', 'policydissect.quadrupedal.vision4leg.robots', 'policydissect.quadrupedal.vision4leg.assets', 'policydissect.quadrupedal.vision4leg.envs.utilities', 'policydissect.quadrupedal.vision4leg.envs.env_wrappers', 'policydissect.quadrupedal.vision4leg.envs.gym_envs', 'policydissect.quadrupedal.vision4leg.envs.sensors', 'policydissect.quadrupedal.vision4leg.assets.a1', 'policydissect.legged_gym.envs', 'policydissect.legged_gym.utils', 'policydissect.legged_gym.training_script', 'policydissect.legged_gym.rsl_rl', 'policydissect.legged_gym.rsl_rl.algorithms', 'policydissect.legged_gym.rsl_rl.modules', 'policydissect.legged_gym.rsl_rl.utils', 'policydissect.legged_gym.rsl_rl.env', 'policydissect.legged_gym.rsl_rl.storage', 'policydissect.legged_gym.rsl_rl.runners']
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip. error: metadata-generation-failed

× Encountered error while generating package metadata. ╰─> See above for output.

note: This is an issue with the package mentioned above, not pip. hint: See above for details.

HongyiZhouCN commented 1 year ago

I solved this by adding py_modules=[] as a keyword argument to the setup() function in setup.py following the discussion here https://stackoverflow.com/questions/72294299/multiple-top-level-packages-discovered-in-a-flat-layout