jgehrcke / python-cmdline-bootstrap Goto Github PK
View Code? Open in Web Editor NEWhttp://gehrcke.de/2014/02/distributing-a-python-command-line-application/
License: Other
http://gehrcke.de/2014/02/distributing-a-python-command-line-application/
License: Other
https://www.flake8rules.com/rules/W605.html
As of Python 3.6, a backslash-character pair that is not a valid escape sequence now generates a DeprecationWarning. This will eventually become a SyntaxError.
better:
version = re.search(
r'^__version__\s*=\s*"(.*)"', open("...").read(), re.M
).group(1)
Sorry to write it here, but I don't know what to do.
My package yagmail is not getting a console_scripts entry point, even though with the exception of version, I completely followed your style, it seemed to all work out.
Could you see what is wrong with it? Code works under Python 2 and 3.
Also, could it be that python setup.py bdist_wininst gives an error after defining such an entry point on a Mac?
I want to write a small personal package based on your scripts.
The structure of the directory is showed here:
I further add a new module (src
) and script (case.py
) under bootstrap fold like this:
python-cmdline-bootstrap/
...
├── bootstrap
│ ├── __init__.py
│ ├── __main__.py
│ ├── bootstrap.py
│ ├── stuff.py
│ ├── src
│ ├── __init__.py
│ ├── case.py
├── bootstrap-runner.py
...
the content of case.py
showed below:
# -*- coding: utf-8 -*-
import argparse
def case():
print("This a new command.")
I add the following lines into the setup.py:
console_scripts = """
[console_scripts]
bootstrap = bootstrap.bootstrap:main
cccase = bootstrap.src.case:case
"""
When I execute python setup.py install
and run cccase
in the terminal after installation, it shows the error:
Traceback (most recent call last):
File "/home/chxp/tmp/python3-test/bin/cccase", line 11, in <module>
load_entry_point('cmdline-bootstrap==0.2.0', 'console_scripts', 'cccase')()
File "/home/chxp/tmp/python3-test/lib/python3.8/site-packages/pkg_resources/__init__.py", line 489, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/home/chxp/tmp/python3-test/lib/python3.8/site-packages/pkg_resources/__init__.py", line 2852, in load_entry_point
return ep.load()
File "/home/chxp/tmp/python3-test/lib/python3.8/site-packages/pkg_resources/__init__.py", line 2443, in load
return self.resolve()
File "/home/chxp/tmp/python3-test/lib/python3.8/site-packages/pkg_resources/__init__.py", line 2449, in resolve
module = __import__(self.module_name, fromlist=['__name__'], level=0)
ModuleNotFoundError: No module named 'bootstrap.src'
It works fine if I use ./bootstrap-runner.py
or python -m bootstrap
(I modify them also), I think it may a mistake in the setup.py
.
Thus, how do I revise the setup.py? I want to generate different command-line applications in a python package.
Meanwhile, how do I test multiple command-line applications by using ./bootstrap-runner.py
or python -m bootstrap
in a single run.
It seems I need to change the content in __main__.py
or bootstrap-runner.py
to test each command-line application, such as bootstrap
, cccase
.
The original scripts are upload at " https://gitee.com/chxp/python-cmdline-bootstrap " and download by git clone https://gitee.com/chxp/python-cmdline-bootstrap.git
.
Thanks for your help. (I also asked it on Stackoverflow: https://stackoverflow.com/questions/66954048/how-to-write-the-accurate-setup-pyentry-points-when-i-want-to-generate-multi )
with open("README.md", "rb") as f:
long_descr = f.read().decode("utf-8")
long_description=long_descr,
long_description_content_type="text/markdown",
When I try to run python bootstrap
from the root of the project, I get this error:
Traceback (most recent call last):
File "/usr/lib/python2.7/runpy.py", line 162, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
exec code in run_globals
File "/home/jdevera/devel/github/python-cmdline-bootstrap/bootstrap/__main__.py", line 7, in <module>
from .bootstrap import main
ValueError: Attempted relative import in non-package
Is this not one of the intended uses of this __main__.py
file?
If I do python -m bootstrap
then it works fine.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.