BEVDet icon indicating copy to clipboard operation
BEVDet copied to clipboard

error about python setup.py develop

Open lalaha1 opened this issue 2 years ago • 6 comments

Thanks for your great work! When I implement the command "python setup.py develop",there is an issue reported.

running build_ext building 'mmdet3d.ops.spconv.sparse_conv_ext' extension Traceback (most recent call last): File "", line 36, in File "", line 34, in File "/home/liumh/BEVDet/setup.py", line 320, in zip_safe=False) File "/home/liumh/anaconda3/envs/bevdet/lib/python3.7/site-packages/setuptools/init.py", line 87, in setup return distutils.core.setup(**attrs) File "/home/liumh/anaconda3/envs/bevdet/lib/python3.7/site-packages/setuptools/_distutils/core.py", line 185, in setup return run_commands(dist) File "/home/liumh/anaconda3/envs/bevdet/lib/python3.7/site-packages/setuptools/_distutils/core.py", line 201, in run_commands dist.run_commands() File "/home/liumh/anaconda3/envs/bevdet/lib/python3.7/site-packages/setuptools/_distutils/dist.py", line 973, in run_commands self.run_command(cmd) File "/home/liumh/anaconda3/envs/bevdet/lib/python3.7/site-packages/setuptools/dist.py", line 1217, in run_command super().run_command(command) File "/home/liumh/anaconda3/envs/bevdet/lib/python3.7/site-packages/setuptools/_distutils/dist.py", line 992, in run_command cmd_obj.run() File "/home/liumh/anaconda3/envs/bevdet/lib/python3.7/site-packages/setuptools/command/develop.py", line 34, in run self.install_for_development() File "/home/liumh/anaconda3/envs/bevdet/lib/python3.7/site-packages/setuptools/command/develop.py", line 114, in install_for_development self.run_command('build_ext') File "/home/liumh/anaconda3/envs/bevdet/lib/python3.7/site-packages/setuptools/_distutils/cmd.py", line 319, in run_command self.distribution.run_command(command) File "/home/liumh/anaconda3/envs/bevdet/lib/python3.7/site-packages/setuptools/dist.py", line 1217, in run_command super().run_command(command) File "/home/liumh/anaconda3/envs/bevdet/lib/python3.7/site-packages/setuptools/_distutils/dist.py", line 992, in run_command cmd_obj.run() File "/home/liumh/anaconda3/envs/bevdet/lib/python3.7/site-packages/setuptools/command/build_ext.py", line 79, in run _build_ext.run(self) File "/home/liumh/anaconda3/envs/bevdet/lib/python3.7/site-packages/setuptools/_distutils/command/build_ext.py", line 346, in run self.build_extensions() File "/home/liumh/anaconda3/envs/bevdet/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 709, in build_extensions build_ext.build_extensions(self) File "/home/liumh/anaconda3/envs/bevdet/lib/python3.7/site-packages/setuptools/_distutils/command/build_ext.py", line 466, in build_extensions self._build_extensions_serial() File "/home/liumh/anaconda3/envs/bevdet/lib/python3.7/site-packages/setuptools/_distutils/command/build_ext.py", line 492, in _build_extensions_serial self.build_extension(ext) File "/home/liumh/anaconda3/envs/bevdet/lib/python3.7/site-packages/setuptools/command/build_ext.py", line 202, in build_extension _build_ext.build_extension(self, ext) File "/home/liumh/anaconda3/envs/bevdet/lib/python3.7/site-packages/setuptools/_distutils/command/build_ext.py", line 554, in build_extension depends=ext.depends, File "/home/liumh/anaconda3/envs/bevdet/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 525, in unix_wrap_ninja_compile cuda_post_cflags = unix_cuda_flags(cuda_post_cflags) File "/home/liumh/anaconda3/envs/bevdet/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 424, in unix_cuda_flags cflags + _get_cuda_arch_flags(cflags)) File "/home/liumh/anaconda3/envs/bevdet/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 1562, in _get_cuda_arch_flags arch_list[-1] += '+PTX' IndexError: list index out of range error: subprocess-exited-with-error

× python setup.py develop did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.
full command: /home/liumh/anaconda3/envs/bevdet/bin/python -c '
exec(compile('"'"''"'"''"'"'
# This is <pip-setuptools-caller> -- a caller that pip uses to run setup.py
#
# - It imports setuptools before invoking setup.py, to enable projects that directly
#   import from `distutils.core` to work with newer packaging standards.
# - It provides a clear error message when setuptools is not installed.
# - It sets `sys.argv[0]` to the underlying `setup.py`, when invoking `setup.py` so
#   setuptools doesn'"'"'t think the script is `-c`. This avoids the following warning:
#     manifest_maker: standard file '"'"'-c'"'"' not found".
# - It generates a shim setup.py, for handling setup.cfg-only projects.
import os, sys, tokenize

try:
    import setuptools
except ImportError as error:
    print(
        "ERROR: Can not execute `setup.py` since setuptools is not available in "
        "the build environment.",
        file=sys.stderr,
    )
    sys.exit(1)

__file__ = %r
sys.argv[0] = __file__

if os.path.exists(__file__):
    filename = __file__
    with tokenize.open(__file__) as f:
        setup_py_code = f.read()
else:
    filename = "<auto-generated setuptools caller>"
    setup_py_code = "from setuptools import setup; setup()"

exec(compile(setup_py_code, filename, "exec"))
'"'"''"'"''"'"' % ('"'"'/home/liumh/BEVDet/setup.py'"'"',), "<pip-setuptools-caller>", "exec"))' develop --no-deps
cwd: /home/liumh/BEVDet/

error: subprocess-exited-with-error

× python setup.py develop did not run successfully. │ exit code: 1 ╰─> See above for output.

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

I want to konw how to solve it? thank you!

lalaha1 avatar Aug 10 '22 03:08 lalaha1

can you build the official mmdet3d? i.e. https://github.com/open-mmlab/mmdetection3d/tree/v0.17.2

HuangJunJie2017 avatar Aug 10 '22 03:08 HuangJunJie2017

Yes, I can build the official mmdet3d.

lalaha1 avatar Aug 10 '22 07:08 lalaha1

@lalaha1 Have you used a python version other than 3.7/3.6?

HuangJunJie2017 avatar Aug 10 '22 09:08 HuangJunJie2017

@lalaha1 here is the pip list of my environment, hope this is helpful for you absl-py 0.13.0 addict 2.4.0 anyio 3.6.1 apex 0.1 argcomplete 1.12.3 argon2-cffi 21.1.0 attrs 21.2.0 Babel 2.10.3 backcall 0.2.0 backports.entry-points-selectable 1.1.0 beautifulsoup4 4.11.1 black 21.10b0 bleach 4.1.0 brotlipy 0.7.0 cachetools 4.2.2 certifi 2021.5.30 cffi 1.14.6 cfgv 3.3.1 chardet 4.0.0 click 8.0.3 conda 4.10.3 conda-package-handling 1.7.3 cryptography 3.4.7 cycler 0.10.0 Cython 0.29.24 debugpy 1.4.3 decorator 5.1.0 defusedxml 0.7.1 deprecation 2.1.0 descartes 1.1.0 distlib 0.3.3 entrypoints 0.3 fastjsonschema 2.16.1 filelock 3.3.2 fire 0.4.0 flake8 4.0.1 google-auth 1.35.0 google-auth-oauthlib 0.4.6 grpcio 1.40.0 identify 2.3.3 idna 2.10 imageio 2.10.1 importlib-metadata 4.2.0 iniconfig 1.1.1 ipykernel 6.4.1 ipython 7.27.0 ipython-genutils 0.2.0 ipywidgets 7.6.5 jedi 0.18.0 Jinja2 3.1.2 joblib 1.0.1 json5 0.9.9 jsonschema 3.2.0 jupyter 1.0.0 jupyter-client 7.0.3 jupyter-console 6.4.0 jupyter-core 4.8.1 jupyter-packaging 0.12.2 jupyter-server 1.18.1 jupyterlab 3.4.4 jupyterlab-pygments 0.1.2 jupyterlab-server 2.15.0 jupyterlab-widgets 1.0.2 kiwisolver 1.3.2 llvmlite 0.31.0 lyft-dataset-sdk 0.0.8 Markdown 3.3.4 MarkupSafe 2.0.1 matplotlib 3.4.3 matplotlib-inline 0.1.3 mccabe 0.6.1 mistune 0.8.4 mkl-fft 1.3.0 mkl-random 1.2.2 mkl-service 2.4.0 mmcv-full 1.3.13 mmdet 2.14.0 mmdet3d 0.17.2 /mnt/cfs/algorithm/junjie.huang/project/github/BEVDet mmpycocotools 12.0.3 mmsegmentation 0.14.1 mypy-extensions 0.4.3 nbclassic 0.4.3 nbclient 0.5.4 nbconvert 6.5.0 nbformat 5.4.0 nest-asyncio 1.5.1 networkx 2.2 nodeenv 1.6.0 notebook 6.4.4 notebook-shim 0.1.0 numba 0.48.0 numpy 1.18.0 nuscenes-devkit 1.1.7 oauthlib 3.1.1 olefile 0.46 open3d 0.13.0 opencv-python 4.5.3.56 packaging 21.0 pandas 1.3.4 pandocfilters 1.5.0 parso 0.8.2 pathspec 0.9.0 pexpect 4.8.0 pickleshare 0.7.5 Pillow 8.4.0 pip 21.1.3 platformdirs 2.4.0 plotly 5.3.1 pluggy 1.0.0 plyfile 0.7.4 pre-commit 2.15.0 prettytable 2.3.0 prometheus-client 0.11.0 prompt-toolkit 3.0.20 protobuf 3.18.0 ptyprocess 0.7.0 py 1.10.0 pyasn1 0.4.8 pyasn1-modules 0.2.8 pycocotools 2.0.1 pycodestyle 2.8.0 pycosat 0.6.3 pycparser 2.20 pyflakes 2.4.0 Pygments 2.10.0 pyOpenSSL 20.0.1 pyparsing 2.4.7 pyquaternion 0.9.9 pyrsistent 0.18.0 PySocks 1.7.1 pytest 6.2.5 python-dateutil 2.8.2 pytz 2021.3 PyWavelets 1.1.1 PyYAML 5.4.1 pyzmq 22.3.0 qtconsole 5.1.1 QtPy 1.11.1 regex 2021.11.2 requests 2.25.1 requests-oauthlib 1.3.0 rsa 4.7.2 ruamel-yaml-conda 0.15.100 scikit-image 0.18.3 scikit-learn 0.24.2 scipy 1.7.1 Send2Trash 1.8.0 setuptools 63.4.2 Shapely 1.7.1 six 1.16.0 sniffio 1.2.0 soupsieve 2.3.2.post1 tenacity 8.0.1 tensorboard 2.6.0 tensorboard-data-server 0.6.1 tensorboard-plugin-wit 1.8.0 termcolor 1.1.0 terminado 0.12.1 terminaltables 3.1.0 testpath 0.5.0 threadpoolctl 2.2.0 tifffile 2021.11.2 timm 0.4.12 tinycss2 1.1.1 toml 0.10.2 tomli 1.2.2 tomlkit 0.11.2 torch 1.9.0 torchaudio 0.9.0a0+33b2469 torchvision 0.10.0 tornado 6.1 tqdm 4.61.2 traitlets 5.1.0 trimesh 2.35.39 typed-ast 1.4.3 typing-extensions 3.10.0.0 urllib3 1.26.6 virtualenv 20.10.0 wcwidth 0.2.5 webencodings 0.5.1 websocket-client 1.3.3 Werkzeug 2.0.1 wheel 0.36.2 widgetsnbextension 3.5.1 yacs 0.1.8 yapf 0.31.0 zipp 3.5.0

HuangJunJie2017 avatar Aug 10 '22 09:08 HuangJunJie2017

@lalaha1 https://blog.csdn.net/qq_39266065/article/details/119173112 Maybe the torch version is inappropriate

HuangJunJie2017 avatar Aug 10 '22 09:08 HuangJunJie2017

Thank you! I will try it.

lalaha1 avatar Aug 10 '22 09:08 lalaha1

@HuangJunJie2017 @lalaha1 Hi, guys.

Just add following code to ~/.bashrc, it works on my env. export TORCH_CUDA_ARCH_LIST="YOUR_GPU_CC+PTX"

For example, export TORCH_CUDA_ARCH_LIST="8.6+PTX" for RTX3080, Cuda11-3.

erwangccc avatar Jun 25 '23 14:06 erwangccc