Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Suggestion: Remove dependency on Python 'click' module #254

Closed
michaelkarlcoleman opened this issue Apr 5, 2021 · 2 comments
Closed

Suggestion: Remove dependency on Python 'click' module #254

michaelkarlcoleman opened this issue Apr 5, 2021 · 2 comments

Comments

@michaelkarlcoleman
Copy link

Improvement Description
It would be nice to remove the dependency on the Python "click" module, as that module crashes out if LANG=C. There are lots of other argument parsing libs, and none of them have this problem, as far as I know.

(Note that the author of click has stated that they will never fix this issue.)

Current Behavior
For example:

$ export LANG=C
$ conda activate qiime2-2020.2
Traceback (most recent call last):
  File "/packages/miniconda/20190102/envs/qiime2-2020.2/bin/qiime", line 11, in <module>
    sys.exit(qiime())
  File "/packages/miniconda/20190102/envs/qiime2-2020.2/lib/python3.6/site-packages/click/core.py", line 764, in __call__
    return self.main(*args, **kwargs)
  File "/packages/miniconda/20190102/envs/qiime2-2020.2/lib/python3.6/site-packages/click/core.py", line 696, in main
    _verify_python3_env()
  File "/packages/miniconda/20190102/envs/qiime2-2020.2/lib/python3.6/site-packages/click/_unicodefun.py", line 124, in _verify_python3_env
    ' mitigation steps.' + extra
RuntimeError: Click will abort further execution because Python 3 was configured to use ASCII as encoding for the environment. Consult https://click.palletsp
rojects.com/en/7.x/python3/ for mitigation steps.

Proposed Behavior
It just works.

@thermokarst thermokarst transferred this issue from qiime2/qiime2 Apr 5, 2021
@thermokarst
Copy link
Contributor

Hi @michaelkarlcoleman! I moved this from the qiime2 (framework) issue tracker to the q2cli issue tracker: q2cli is the QIIME 2 interface that actually uses (and depends on) click.

@Oddant1
Copy link
Member

Oddant1 commented Sep 25, 2023

We would LOVE to do this for a great many reasons. We basically consider the usage of click to be technical debt at this point, but we don't have the resources to make the change at this time. I'm going to remove this from the issue tracker because we're currently cleaning up old issues, but know that this is even still vaguely on our radar. It would just necessitate a rewrite of the entire cli.

@Oddant1 Oddant1 closed this as completed Sep 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants