Просмотр исходного кода

Move to setup.py console_scripts (#146)

Lutz Roeder 7 лет назад
Родитель
Сommit
2018518292
6 измененных файлов с 28 добавлено и 30 удалено
  1. 1 1
      DEVELOPMENT.md
  2. 1 2
      netron
  3. 0 1
      setup.cfg
  4. 4 4
      setup.py
  5. 22 2
      src/__init__.py
  6. 0 20
      src/netron

+ 1 - 1
DEVELOPMENT.md

@@ -26,7 +26,7 @@ To build and launch the Python server run:
 ```bash
 npm install
 python ./setup.py build
-PYTHONPATH=./build/python/lib python ./build/python/scripts-2.7/netron [...]
+PYTHONPATH=${source}/build/python/lib python -c "import netron; netron.main()" [...]
 ```
 
 The same can be accomplished by running the `./netron` script in the enlistment root folder.

+ 1 - 2
netron

@@ -6,5 +6,4 @@ pushd ${source} > /dev/null
 rm -rf ./build/python
 python ./setup.py --quiet build
 popd > /dev/null
-PYTHON_VERSION=$(python -c "import sys; print('.'.join(str(x) for x in sys.version_info[:2]))")
-PYTHONPATH=${source}/build/python/lib python ${source}/build/python/scripts-${PYTHON_VERSION}/netron $@
+PYTHONPATH=${source}/build/python/lib python -c "import netron; netron.main()" $@

+ 0 - 1
setup.cfg

@@ -1,7 +1,6 @@
 [build]
 build-base = ./build/python
 build-lib = ./build/python/lib
-executable=/usr/bin/env python
 
 [bdist_wheel]
 universal=1

+ 4 - 4
setup.py

@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/env python
 
 import distutils
 import io
@@ -107,9 +107,9 @@ setuptools.setup(
     author='Lutz Roeder',
     author_email='[email protected]',
     url='https://github.com/lutzroeder/netron',
-    scripts=[
-        'src/netron'
-    ],
+    entry_points={
+        'console_scripts': [ 'netron = netron:main' ]
+    },
     classifiers=[
         'Intended Audience :: Developers',
         'Intended Audience :: Education',

+ 22 - 2
src/__init__.py

@@ -1,6 +1,26 @@
-#!/usr/bin/python
 
 from .netron import serve_data
 from .netron import serve_file
 from .netron import browse
-from .__version__ import __version__
+from .__version__ import __version__
+
+import argparse
+import sys
+import os
+
+def main():
+    parser = argparse.ArgumentParser(description='Viewer for neural network, deep learning and machine learning models.')
+    parser.add_argument('file', metavar='MODEL_FILE', help='model file to serve', nargs='?', default=None)
+    parser.add_argument('-v', '--verbose', help='log details to console', action='store_true')
+    parser.add_argument('-b', '--browse', help='launch web browser', action='store_true')
+    parser.add_argument('--port', help='port to serve (default: 8080)', type=int, default=8080)
+    parser.add_argument('--host', help='host to serve (default: localhost)', default='localhost')
+    args = parser.parse_args()
+    if args.file and not os.path.exists(args.file):
+        print("Model file '" + args.file + "' does not exist.")
+        sys.exit(2)
+    serve_file(args.file, verbose=args.verbose, browse=args.browse, port=args.port, host=args.host)
+    sys.exit(0)
+
+if __name__ == '__main__':
+    main()

+ 0 - 20
src/netron

@@ -1,20 +0,0 @@
-#!/usr/bin/env python
-
-import argparse
-import sys
-import netron
-import os
-
-if __name__ == '__main__':
-    parser = argparse.ArgumentParser(description='Viewer for neural network, deep learning and machine learning models.')
-    parser.add_argument('file', metavar='MODEL_FILE', help='model file to serve', nargs='?', default=None)
-    parser.add_argument('-v', '--verbose', help='log details to console', action='store_true')
-    parser.add_argument('-b', '--browse', help='launch web browser', action='store_true')
-    parser.add_argument('--port', help='port to serve (default: 8080)', type=int, default=8080)
-    parser.add_argument('--host', help='host to serve (default: localhost)', default='localhost')
-    args = parser.parse_args()
-    if args.file and not os.path.exists(args.file):
-        print("Model file '" + args.file + "' does not exist.")
-        sys.exit(2)
-    netron.serve_file(args.file, verbose=args.verbose, browse=args.browse, port=args.port, host=args.host)
-    sys.exit(0)