Giter VIP home page Giter VIP logo

colcon-argcomplete's Introduction

colcon-common-extensions

A meta package aggregating colcon-core as well as a set of common extensions.

colcon-argcomplete's People

Contributors

cottsay avatar dirk-thomas avatar nuclearsandwich avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

colcon-argcomplete's Issues

Enable argcomplete by default

I found that instructions about argcomplete were added to the ros2_documentation in ros2/ros2_documentation#2059 last year, but as discussed in that PR, setting up argcomplete shouldn't be part of a beginner tutorial.

As embarassing as this sounds, it took me a long time until I realised argcomplete existed, and that I didn't have to type out the package selection options manually.

As argcomplete actually benefits everyone, is there a way to enable arg completion by default? What are the drawbacks that outweigh the advantages?

Error installing colcon-argcomplete 0.2.4

Attempting to install version 0.2.4 through pip gives the following error (0.2.3 does not fail):

$ pip3 install colcon-argcomplete
Collecting colcon-argcomplete==0.2.4
  Using cached https://files.pythonhosted.org/packages/ac/8c/0b937cc6ba11ea7b66e0f3d95a9f7d262521c18800a5a7a54c45430b33c9/colcon-argcomplete-0.2.4.tar.gz
Collecting argcomplete (from colcon-argcomplete==0.2.4)
  Using cached https://files.pythonhosted.org/packages/31/88/ba8d8684a8a27749250c66ff7c2b408fdbc29b50da61200338ff9b2607bf/argcomplete-1.9.4-py2.py3-none-any.whl
Collecting colcon-core (from colcon-argcomplete==0.2.4)
  Using cached https://files.pythonhosted.org/packages/28/3d/92a14e4ed9e32b857cc0eb721ae748cbc228ba72851b9012d3ddf5bd4627/colcon_core-0.3.14-py3-none-any.whl
Collecting pytest-repeat (from colcon-core->colcon-argcomplete==0.2.4)
  Using cached https://files.pythonhosted.org/packages/c9/47/569e74afc10b2c58bfb358e4573639d34550b2ae2f18960c9db0c5aa500b/pytest_repeat-0.7.0-py2.py3-none-any.whl
Collecting pytest (from colcon-core->colcon-argcomplete==0.2.4)
  Using cached https://files.pythonhosted.org/packages/19/80/1ac71d332302a89e8637456062186bf397abc5a5b663c1919b73f4d68b1b/pytest-4.0.2-py2.py3-none-any.whl
Collecting setuptools>=30.3.0 (from colcon-core->colcon-argcomplete==0.2.4)
  Using cached https://files.pythonhosted.org/packages/37/06/754589caf971b0d2d48f151c2586f62902d93dc908e2fd9b9b9f6aa3c9dd/setuptools-40.6.3-py2.py3-none-any.whl
Collecting pytest-cov (from colcon-core->colcon-argcomplete==0.2.4)
  Using cached https://files.pythonhosted.org/packages/30/0a/1b009b525526cd3cd9f52f52391b426c5a3597447be811a10bcb1f6b05eb/pytest_cov-2.6.0-py2.py3-none-any.whl
Collecting pytest-runner (from colcon-core->colcon-argcomplete==0.2.4)
  Using cached https://files.pythonhosted.org/packages/72/a4/d7a5738a3096f22a98bec1609e237b250ebff04e5ea2930305d485337263/pytest_runner-4.2-py2.py3-none-any.whl
Collecting distlib (from colcon-core->colcon-argcomplete==0.2.4)
Collecting EmPy (from colcon-core->colcon-argcomplete==0.2.4)
Collecting pytest-rerunfailures (from colcon-core->colcon-argcomplete==0.2.4)
  Using cached https://files.pythonhosted.org/packages/22/fc/da4658ccaa0a5d4c98710a6634ecfee31bf72f4bb6b3fafa8895bc4bfd0a/pytest_rerunfailures-5.0-py2.py3-none-any.whl
Collecting pathlib2>=2.2.0; python_version < "3.6" (from pytest->colcon-core->colcon-argcomplete==0.2.4)
  Using cached https://files.pythonhosted.org/packages/2a/46/c696dcf1c7aad917b39b875acdc5451975e3a9b4890dca8329983201c97a/pathlib2-2.3.3-py2.py3-none-any.whl
Collecting atomicwrites>=1.0 (from pytest->colcon-core->colcon-argcomplete==0.2.4)
  Using cached https://files.pythonhosted.org/packages/3a/9a/9d878f8d885706e2530402de6417141129a943802c084238914fa6798d97/atomicwrites-1.2.1-py2.py3-none-any.whl
Collecting attrs>=17.4.0 (from pytest->colcon-core->colcon-argcomplete==0.2.4)
  Using cached https://files.pythonhosted.org/packages/3a/e1/5f9023cc983f1a628a8c2fd051ad19e76ff7b142a0faf329336f9a62a514/attrs-18.2.0-py2.py3-none-any.whl
Collecting more-itertools>=4.0.0 (from pytest->colcon-core->colcon-argcomplete==0.2.4)
  Using cached https://files.pythonhosted.org/packages/a4/a6/42f17d065bda1fac255db13afc94c93dbfb64393eae37c749b4cb0752fc7/more_itertools-5.0.0-py3-none-any.whl
Collecting py>=1.5.0 (from pytest->colcon-core->colcon-argcomplete==0.2.4)
  Using cached https://files.pythonhosted.org/packages/3e/c7/3da685ef117d42ac8d71af525208759742dd235f8094221fdaafcd3dba8f/py-1.7.0-py2.py3-none-any.whl
Collecting pluggy>=0.7 (from pytest->colcon-core->colcon-argcomplete==0.2.4)
  Using cached https://files.pythonhosted.org/packages/1c/e7/017c262070af41fe251401cb0d0e1b7c38f656da634cd0c15604f1f30864/pluggy-0.8.0-py2.py3-none-any.whl
Collecting six>=1.10.0 (from pytest->colcon-core->colcon-argcomplete==0.2.4)
  Using cached https://files.pythonhosted.org/packages/73/fb/00a976f728d0d1fecfe898238ce23f502a721c0ac0ecfedb80e0d88c64e9/six-1.12.0-py2.py3-none-any.whl
Collecting coverage>=4.4 (from pytest-cov->colcon-core->colcon-argcomplete==0.2.4)
  Using cached https://files.pythonhosted.org/packages/fa/7c/e728df519842d537b2a4498553e2396867f50120fe303cd2b45e54b7e323/coverage-4.5.2-cp35-cp35m-manylinux1_x86_64.whl
Building wheels for collected packages: colcon-argcomplete
  Running setup.py bdist_wheel for colcon-argcomplete ... error
  Complete output from command /usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-v26e9nt9/colcon-argcomplete/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" bdist_wheel -d /tmp/tmp6bdw2hm7pip-wheel- --python-tag cp35:
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib
  creating build/lib/colcon_argcomplete
  copying colcon_argcomplete/__init__.py -> build/lib/colcon_argcomplete
  creating build/lib/colcon_argcomplete/argument_parser
  copying colcon_argcomplete/argument_parser/__init__.py -> build/lib/colcon_argcomplete/argument_parser
  creating build/lib/colcon_argcomplete/argcomplete_completer
  copying colcon_argcomplete/argcomplete_completer/__init__.py -> build/lib/colcon_argcomplete/argcomplete_completer
  creating build/lib/colcon_argcomplete/argument_parser/argcomplete
  copying colcon_argcomplete/argument_parser/argcomplete/__init__.py -> build/lib/colcon_argcomplete/argument_parser/argcomplete
  creating build/lib/colcon_argcomplete/argument_parser/argcomplete/completer
  copying colcon_argcomplete/argument_parser/argcomplete/completer/__init__.py -> build/lib/colcon_argcomplete/argument_parser/argcomplete/completer
  copying colcon_argcomplete/argument_parser/argcomplete/completer/package_name.py -> build/lib/colcon_argcomplete/argument_parser/argcomplete/completer
  installing to build/bdist.linux-x86_64/wheel
  running install
  running install_lib
  creating build/bdist.linux-x86_64
  creating build/bdist.linux-x86_64/wheel
  creating build/bdist.linux-x86_64/wheel/colcon_argcomplete
  creating build/bdist.linux-x86_64/wheel/colcon_argcomplete/argument_parser
  copying build/lib/colcon_argcomplete/argument_parser/__init__.py -> build/bdist.linux-x86_64/wheel/colcon_argcomplete/argument_parser
  creating build/bdist.linux-x86_64/wheel/colcon_argcomplete/argument_parser/argcomplete
  copying build/lib/colcon_argcomplete/argument_parser/argcomplete/__init__.py -> build/bdist.linux-x86_64/wheel/colcon_argcomplete/argument_parser/argcomplete
  creating build/bdist.linux-x86_64/wheel/colcon_argcomplete/argument_parser/argcomplete/completer
  copying build/lib/colcon_argcomplete/argument_parser/argcomplete/completer/__init__.py -> build/bdist.linux-x86_64/wheel/colcon_argcomplete/argument_parser/argcomplete/completer
  copying build/lib/colcon_argcomplete/argument_parser/argcomplete/completer/package_name.py -> build/bdist.linux-x86_64/wheel/colcon_argcomplete/argument_parser/argcomplete/completer
  copying build/lib/colcon_argcomplete/__init__.py -> build/bdist.linux-x86_64/wheel/colcon_argcomplete
  creating build/bdist.linux-x86_64/wheel/colcon_argcomplete/argcomplete_completer
  copying build/lib/colcon_argcomplete/argcomplete_completer/__init__.py -> build/bdist.linux-x86_64/wheel/colcon_argcomplete/argcomplete_completer
  running install_egg_info
  running egg_info
  writing dependency_links to colcon_argcomplete.egg-info/dependency_links.txt
  writing requirements to colcon_argcomplete.egg-info/requires.txt
  writing entry points to colcon_argcomplete.egg-info/entry_points.txt
  writing colcon_argcomplete.egg-info/PKG-INFO
  writing top-level names to colcon_argcomplete.egg-info/top_level.txt
  reading manifest file 'colcon_argcomplete.egg-info/SOURCES.txt'
  reading manifest template 'MANIFEST.in'
  writing manifest file 'colcon_argcomplete.egg-info/SOURCES.txt'
  Copying colcon_argcomplete.egg-info to build/bdist.linux-x86_64/wheel/colcon_argcomplete-0.2.4-py3.5.egg-info
  running install_scripts
  Copying /tmp/pip-build-v26e9nt9/colcon-argcomplete/completion/colcon-argcomplete.bash to /usr/share/colcon-argcomplete/hook
  error: [Errno 13] Permission denied: '/usr/share/colcon-argcomplete'
  
  ----------------------------------------
  Failed building wheel for colcon-argcomplete
  Running setup.py clean for colcon-argcomplete
Failed to build colcon-argcomplete
Installing collected packages: argcomplete, six, pathlib2, atomicwrites, attrs, setuptools, more-itertools, py, pluggy, pytest, pytest-repeat, coverage, pytest-cov, pytest-runner, distlib, EmPy, pytest-rerunfailures, colcon-core, colcon-argcomplete
  Running setup.py install for colcon-argcomplete ... error
    Complete output from command /usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-v26e9nt9/colcon-argcomplete/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-hfa4a92a-record/install-record.txt --single-version-externally-managed --compile --user --prefix=:
    running install
    running build
    running build_py
    creating build
    creating build/lib
    creating build/lib/colcon_argcomplete
    copying colcon_argcomplete/__init__.py -> build/lib/colcon_argcomplete
    creating build/lib/colcon_argcomplete/argument_parser
    copying colcon_argcomplete/argument_parser/__init__.py -> build/lib/colcon_argcomplete/argument_parser
    creating build/lib/colcon_argcomplete/argcomplete_completer
    copying colcon_argcomplete/argcomplete_completer/__init__.py -> build/lib/colcon_argcomplete/argcomplete_completer
    creating build/lib/colcon_argcomplete/argument_parser/argcomplete
    copying colcon_argcomplete/argument_parser/argcomplete/__init__.py -> build/lib/colcon_argcomplete/argument_parser/argcomplete
    creating build/lib/colcon_argcomplete/argument_parser/argcomplete/completer
    copying colcon_argcomplete/argument_parser/argcomplete/completer/__init__.py -> build/lib/colcon_argcomplete/argument_parser/argcomplete/completer
    copying colcon_argcomplete/argument_parser/argcomplete/completer/package_name.py -> build/lib/colcon_argcomplete/argument_parser/argcomplete/completer
    running install_lib
    running install_egg_info
    running egg_info
    writing colcon_argcomplete.egg-info/PKG-INFO
    writing dependency_links to colcon_argcomplete.egg-info/dependency_links.txt
    writing entry points to colcon_argcomplete.egg-info/entry_points.txt
    writing top-level names to colcon_argcomplete.egg-info/top_level.txt
    writing requirements to colcon_argcomplete.egg-info/requires.txt
    reading manifest file 'colcon_argcomplete.egg-info/SOURCES.txt'
    reading manifest template 'MANIFEST.in'
    writing manifest file 'colcon_argcomplete.egg-info/SOURCES.txt'
    removing '/home/nicolas/.local/lib/python3.5/site-packages/colcon_argcomplete-0.2.4-py3.5.egg-info' (and everything under it)
    Copying colcon_argcomplete.egg-info to /home/nicolas/.local/lib/python3.5/site-packages/colcon_argcomplete-0.2.4-py3.5.egg-info
    running install_scripts
    writing list of installed files to '/tmp/pip-hfa4a92a-record/install-record.txt'
    Copying /tmp/pip-build-v26e9nt9/colcon-argcomplete/completion/colcon-argcomplete.bash to share/colcon-argcomplete/hook
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-build-v26e9nt9/colcon-argcomplete/setup.py", line 150, in <module>
        'install': CustomInstallCommand,
      File "/home/nicolas/.local/lib/python3.5/site-packages/setuptools/__init__.py", line 143, in setup
        return distutils.core.setup(**attrs)
      File "/usr/lib/python3.5/distutils/core.py", line 148, in setup
        dist.run_commands()
      File "/usr/lib/python3.5/distutils/dist.py", line 955, in run_commands
        self.run_command(cmd)
      File "/usr/lib/python3.5/distutils/dist.py", line 974, in run_command
        cmd_obj.run()
      File "/tmp/pip-build-v26e9nt9/colcon-argcomplete/setup.py", line 90, in run
        _copy_data_file)
      File "/tmp/pip-build-v26e9nt9/colcon-argcomplete/setup.py", line 110, in _foreach_data_file
        callback(src, dst_dir, dst)
      File "/tmp/pip-build-v26e9nt9/colcon-argcomplete/setup.py", line 114, in _copy_data_file
        _prepare_destination(src, dst_dir, dst)
      File "/tmp/pip-build-v26e9nt9/colcon-argcomplete/setup.py", line 127, in _prepare_destination
        'Install command needs to be invoked with --prefix ' \
    AssertionError: Install command needs to be invoked with --prefix or the data files destination must be absolute
    
    ----------------------------------------
Command "/usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-v26e9nt9/colcon-argcomplete/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-hfa4a92a-record/install-record.txt --single-version-externally-managed --compile --user --prefix=" failed with error code 1 in /tmp/pip-build-v26e9nt9/colcon-argcomplete/```

Missing install files for Ubuntu Noble?

Looks like the hooks for colcon-argcomplete are missing with the debians that ship for Ubuntu Noble.

Expected:

docker run -it --rm ros:iron bash
apt update && apt install -y \
   python3-colcon-argcomplete
find / -name colcon-argcomplete.bash
ls /usr/share/colcon_argcomplete/hook
/usr/share/colcon_argcomplete/hook/colcon-argcomplete.bash
colcon-argcomplete.bash  colcon-argcomplete.zsh

Result

docker run -it --rm ros:jazzy bash
apt update && apt install -y \
   python3-colcon-argcomplete
find / -name colcon-argcomplete.bash
ls /usr/share/colcon_argcomplete/hook

ls: cannot access '/usr/share/colcon_argcomplete/hook': No such file or directory

@cottsay @nuclearsandwich

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.