Difference between revisions of "Toga Spyder Log"
Jump to navigation
Jump to search
Russ hensel (talk | contribs) (Created page with "= What = This page is a log of setting up Toga on Ubuntu for Spyder see: Setup Toga with Spyder = The Log = <pre> </pre>") |
Russ hensel (talk | contribs) |
||
Line 5: | Line 5: | ||
= The Log = | = The Log = | ||
<pre> | <pre> | ||
+ | |||
+ | |||
+ | ==================== most of terminal and console output trying to get toga to run | ||
+ | |||
+ | on ubuntu with anaconda and spyder some things work and other not search on >= for major sections in this file =================== | ||
+ | |||
+ | |||
+ | > ============================= git and pip ============= | ||
+ | |||
+ | russ@ubuntu-18-base:~$ git config --global user.name "russ-hensel" | ||
+ | russ@ubuntu-18-base:~$ git config --global user.email xxxx@comcast.net | ||
+ | russ@ubuntu-18-base:~$ pip3 install --upgrade pip | ||
+ | Collecting pip | ||
+ | Downloading https://files.pythonhosted.org/packages/5f/25/e52d3f31441505a5f3af41213346e5b6c221c9e086a166f3703d2ddaf940/pip-18.0-py2.py3-none-any.whl (1.3MB) | ||
+ | 100% |████████████████████████████████| 1.3MB 228kB/s | ||
+ | Installing collected packages: pip | ||
+ | Successfully installed pip-18.0 | ||
+ | russ@ubuntu-18-base:~$ git clone https://github.com/russ-hensel/toga.git | ||
+ | Cloning into 'toga'... | ||
+ | remote: Counting objects: 20364, done. | ||
+ | remote: Compressing objects: 100% (133/133), done. | ||
+ | remote: Total 20364 (delta 145), reused 152 (delta 108), pack-reused 20123 | ||
+ | Receiving objects: 100% (20364/20364), 5.46 MiB | 4.81 MiB/s, done. | ||
+ | Resolving deltas: 100% (15716/15716), done. | ||
+ | |||
+ | |||
+ | russ@ubuntu-18-base:~$ cd toga | ||
+ | russ@ubuntu-18-base:~/toga$ pip install -e src/core | ||
+ | Obtaining file:///home/russ/toga/src/core | ||
+ | Collecting travertino>=0.1.0 (from toga-core==0.3.0.dev10) | ||
+ | Downloading https://files.pythonhosted.org/packages/56/3f/f03efe63c2bdc72763ac39777c9ebbab98605ced5c74aefe48b4fa0abb4d/travertino-0.1.2-py3-none-any.whl | ||
+ | Installing collected packages: travertino, toga-core | ||
+ | Running setup.py develop for toga-core | ||
+ | Successfully installed toga-core travertino-0.1.2 | ||
+ | |||
+ | russ@ubuntu-18-base:~/toga$ pip install -e src/dummy | ||
+ | Obtaining file:///home/russ/toga/src/dummy | ||
+ | Requirement already satisfied: toga-core==0.3.0.dev10 in ./src/core (from toga-dummy==0.3.0.dev10) (0.3.0.dev10) | ||
+ | Requirement already satisfied: travertino>=0.1.0 in /home/russ/anaconda3/lib/python3.6/site-packages (from toga-core==0.3.0.dev10->toga-dummy==0.3.0.dev10) (0.1.2) | ||
+ | Installing collected packages: toga-dummy | ||
+ | Running setup.py develop for toga-dummy | ||
+ | Successfully installed toga-dummy | ||
+ | |||
+ | |||
+ | |||
+ | >======================= now src/gtk - which fails ====================== | ||
+ | |||
+ | |||
+ | russ@ubuntu-18-base:~/toga$ pip install -e src/gtk | ||
+ | Obtaining file:///home/russ/toga/src/gtk | ||
+ | Requirement already satisfied: toga-core==0.3.0.dev10 in ./src/core (from toga-gtk==0.3.0.dev10) (0.3.0.dev10) | ||
+ | Collecting gbulb>=0.5.3 (from toga-gtk==0.3.0.dev10) | ||
+ | Downloading https://files.pythonhosted.org/packages/3b/90/b46c4caedb2b14fb6a50201631d8181e1efcf8757182821a05fe572e2c9e/gbulb-0.5.3-py3-none-any.whl | ||
+ | Collecting pycairo>=1.17.0 (from toga-gtk==0.3.0.dev10) | ||
+ | Downloading https://files.pythonhosted.org/packages/68/76/340ff847897296b2c8174dfa5a5ec3406e3ed783a2abac918cf326abad86/pycairo-1.17.1.tar.gz (194kB) | ||
+ | 100% |████████████████████████████████| 194kB 3.0MB/s | ||
+ | Collecting pygobject>=3.14.0 (from toga-gtk==0.3.0.dev10) | ||
+ | Downloading https://files.pythonhosted.org/packages/e0/e8/1e4f21800015a9ca153969e85fc29f7962f8f82fc5dbc1ecbdeb9dc54c75/PyGObject-3.28.3.tar.gz (698kB) | ||
+ | 100% |████████████████████████████████| 706kB 3.4MB/s | ||
+ | Requirement already satisfied: travertino>=0.1.0 in /home/russ/anaconda3/lib/python3.6/site-packages (from toga-core==0.3.0.dev10->toga-gtk==0.3.0.dev10) (0.1.2) | ||
+ | Building wheels for collected packages: pycairo, pygobject | ||
+ | Running setup.py bdist_wheel for pycairo ... error | ||
+ | Complete output from command /home/russ/anaconda3/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-g9bg8dc9/pycairo/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/pip-wheel-kvus6_it --python-tag cp36: | ||
+ | running bdist_wheel | ||
+ | running build | ||
+ | running build_py | ||
+ | creating build | ||
+ | creating build/lib.linux-x86_64-3.6 | ||
+ | creating build/lib.linux-x86_64-3.6/cairo | ||
+ | copying cairo/__init__.py -> build/lib.linux-x86_64-3.6/cairo | ||
+ | copying cairo/__init__.pyi -> build/lib.linux-x86_64-3.6/cairo | ||
+ | copying cairo/py.typed -> build/lib.linux-x86_64-3.6/cairo | ||
+ | running build_ext | ||
+ | 'pkg-config' not found. | ||
+ | Command ['pkg-config', '--print-errors', '--exists', 'cairo >= 1.13.1'] | ||
+ | |||
+ | ---------------------------------------- | ||
+ | Failed building wheel for pycairo | ||
+ | Running setup.py clean for pycairo | ||
+ | Running setup.py bdist_wheel for pygobject ... error | ||
+ | Complete output from command /home/russ/anaconda3/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-g9bg8dc9/pygobject/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/pip-wheel-6d3a8tru --python-tag cp36: | ||
+ | running bdist_wheel | ||
+ | running build | ||
+ | running build_py | ||
+ | creating build | ||
+ | creating build/lib.linux-x86_64-3.6 | ||
+ | creating build/lib.linux-x86_64-3.6/pygtkcompat | ||
+ | copying pygtkcompat/__init__.py -> build/lib.linux-x86_64-3.6/pygtkcompat | ||
+ | copying pygtkcompat/generictreemodel.py -> build/lib.linux-x86_64-3.6/pygtkcompat | ||
+ | copying pygtkcompat/pygtkcompat.py -> build/lib.linux-x86_64-3.6/pygtkcompat | ||
+ | creating build/lib.linux-x86_64-3.6/gi | ||
+ | copying gi/_propertyhelper.py -> build/lib.linux-x86_64-3.6/gi | ||
+ | copying gi/module.py -> build/lib.linux-x86_64-3.6/gi | ||
+ | copying gi/_error.py -> build/lib.linux-x86_64-3.6/gi | ||
+ | copying gi/types.py -> build/lib.linux-x86_64-3.6/gi | ||
+ | copying gi/_signalhelper.py -> build/lib.linux-x86_64-3.6/gi | ||
+ | copying gi/_option.py -> build/lib.linux-x86_64-3.6/gi | ||
+ | copying gi/__init__.py -> build/lib.linux-x86_64-3.6/gi | ||
+ | copying gi/importer.py -> build/lib.linux-x86_64-3.6/gi | ||
+ | copying gi/docstring.py -> build/lib.linux-x86_64-3.6/gi | ||
+ | copying gi/_ossighelper.py -> build/lib.linux-x86_64-3.6/gi | ||
+ | copying gi/pygtkcompat.py -> build/lib.linux-x86_64-3.6/gi | ||
+ | copying gi/_constants.py -> build/lib.linux-x86_64-3.6/gi | ||
+ | creating build/lib.linux-x86_64-3.6/gi/repository | ||
+ | copying gi/repository/__init__.py -> build/lib.linux-x86_64-3.6/gi/repository | ||
+ | creating build/lib.linux-x86_64-3.6/gi/overrides | ||
+ | copying gi/overrides/GObject.py -> build/lib.linux-x86_64-3.6/gi/overrides | ||
+ | copying gi/overrides/Gio.py -> build/lib.linux-x86_64-3.6/gi/overrides | ||
+ | copying gi/overrides/GIMarshallingTests.py -> build/lib.linux-x86_64-3.6/gi/overrides | ||
+ | copying gi/overrides/Gtk.py -> build/lib.linux-x86_64-3.6/gi/overrides | ||
+ | copying gi/overrides/Gdk.py -> build/lib.linux-x86_64-3.6/gi/overrides | ||
+ | copying gi/overrides/GLib.py -> build/lib.linux-x86_64-3.6/gi/overrides | ||
+ | copying gi/overrides/keysyms.py -> build/lib.linux-x86_64-3.6/gi/overrides | ||
+ | copying gi/overrides/Pango.py -> build/lib.linux-x86_64-3.6/gi/overrides | ||
+ | copying gi/overrides/__init__.py -> build/lib.linux-x86_64-3.6/gi/overrides | ||
+ | running build_ext | ||
+ | 'pkg-config' not found. | ||
+ | Arguments: ('pkg-config', '--print-errors', '--exists', 'glib-2.0 >= 2.38.0') | ||
+ | |||
+ | ---------------------------------------- | ||
+ | Failed building wheel for pygobject | ||
+ | Running setup.py clean for pygobject | ||
+ | Failed to build pycairo pygobject | ||
+ | Installing collected packages: gbulb, pycairo, pygobject, toga-gtk | ||
+ | Running setup.py install for pycairo ... error | ||
+ | Complete output from command /home/russ/anaconda3/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-g9bg8dc9/pycairo/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-record-p1fkc09m/install-record.txt --single-version-externally-managed --compile: | ||
+ | running install | ||
+ | running build | ||
+ | running build_py | ||
+ | creating build | ||
+ | creating build/lib.linux-x86_64-3.6 | ||
+ | creating build/lib.linux-x86_64-3.6/cairo | ||
+ | copying cairo/__init__.py -> build/lib.linux-x86_64-3.6/cairo | ||
+ | copying cairo/__init__.pyi -> build/lib.linux-x86_64-3.6/cairo | ||
+ | copying cairo/py.typed -> build/lib.linux-x86_64-3.6/cairo | ||
+ | running build_ext | ||
+ | 'pkg-config' not found. | ||
+ | Command ['pkg-config', '--print-errors', '--exists', 'cairo >= 1.13.1'] | ||
+ | |||
+ | ---------------------------------------- | ||
+ | Command "/home/russ/anaconda3/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-g9bg8dc9/pycairo/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-record-p1fkc09m/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-install-g9bg8dc9/pycairo/ | ||
+ | russ@ubuntu-18-base:~/toga$ | ||
+ | |||
+ | |||
+ | >============= so we have a fail, but lets try testing anyway - it works ===================== | ||
+ | |||
+ | Public Templates Videos | ||
+ | russ@ubuntu-18-base:~$ cd toga | ||
+ | russ@ubuntu-18-base:~/toga$ cd src/core | ||
+ | russ@ubuntu-18-base:~/toga/src/core$ python setup.py test | ||
+ | running test | ||
+ | running egg_info | ||
+ | writing toga_core.egg-info/PKG-INFO | ||
+ | writing dependency_links to toga_core.egg-info/dependency_links.txt | ||
+ | writing requirements to toga_core.egg-info/requires.txt | ||
+ | writing top-level names to toga_core.egg-info/top_level.txt | ||
+ | reading manifest file 'toga_core.egg-info/SOURCES.txt' | ||
+ | reading manifest template 'MANIFEST.in' | ||
+ | warning: no files found matching 'LICENSE' | ||
+ | warning: no files found matching 'tox.ini' | ||
+ | writing manifest file 'toga_core.egg-info/SOURCES.txt' | ||
+ | running build_ext | ||
+ | test_family (tests.test_font.FontTests) ... ok | ||
+ | test_measure (tests.test_font.FontTests) ... ok | ||
+ | test_size (tests.test_font.FontTests) ... ok | ||
+ | test_style (tests.test_font.FontTests) ... ok | ||
+ | test_variant (tests.test_font.FontTests) ... ok | ||
+ | test_weight (tests.test_font.FontTests) ... ok | ||
+ | test_cmd_sort_key (tests.test_command.TestCommand) ... ok | ||
+ | test_command_bind (tests.test_command.TestCommand) ... ok | ||
+ | test_command_enabler (tests.test_command.TestCommand) ... ok | ||
+ | test_command_init_defaults (tests.test_command.TestCommand) ... ok | ||
+ | test_command_init_kargs (tests.test_command.TestCommand) ... ok | ||
+ | test_group_eq (tests.test_command.TestCommand) ... ok | ||
+ | test_group_init_no_order (tests.test_command.TestCommand) ... ok | ||
+ | test_group_init_with_order (tests.test_command.TestCommand) ... ok | ||
+ | test_group_lt (tests.test_command.TestCommand) ... ok | ||
+ | test_cmdset_add (tests.test_command.TestCommandSet) ... ok | ||
+ | test_cmdset_init (tests.test_command.TestCommandSet) ... ok | ||
+ | test_cmdset_iter (tests.test_command.TestCommandSet) ... ok | ||
+ | test_beeliza (tests.style.test_pack.PackLayoutTests) ... ok | ||
+ | test_tutorial_0 (tests.style.test_pack.PackLayoutTests) ... ok | ||
+ | test_tutorial_1 (tests.style.test_pack.PackLayoutTests) ... ok | ||
+ | test_tutorial_3 (tests.style.test_pack.PackLayoutTests) ... ok | ||
+ | test_set_background_color (tests.style.test_pack.TestPackStyleApply) ... ok | ||
+ | test_set_center_alignment (tests.style.test_pack.TestPackStyleApply) ... ok | ||
+ | test_set_color (tests.style.test_pack.TestPackStyleApply) ... ok | ||
+ | test_set_default_left_textalign_when_no_rtl (tests.style.test_pack.TestPackStyleApply) ... ok | ||
+ | test_set_default_right_textalign_when_rtl (tests.style.test_pack.TestPackStyleApply) ... ok | ||
+ | test_set_font (tests.style.test_pack.TestPackStyleApply) ... ok | ||
+ | test_set_visibility_hidden (tests.style.test_pack.TestPackStyleApply) ... ok | ||
+ | test_app_app_id (tests.test_app.AppTests) ... ok | ||
+ | test_app_documents (tests.test_app.AppTests) ... ok | ||
+ | test_app_exit (tests.test_app.AppTests) ... ok | ||
+ | test_app_icon (tests.test_app.AppTests) ... ok | ||
+ | test_app_id (tests.test_app.AppTests) ... ok | ||
+ | test_app_init_with_no_factory (tests.test_app.AppTests) ... ok | ||
+ | test_app_main_loop_call_impl_main_loop (tests.test_app.AppTests) ... ok | ||
+ | test_app_name (tests.test_app.AppTests) ... ok | ||
+ | test_app_open_docuemnts_raise_not_implemented (tests.test_app.AppTests) ... ok | ||
+ | test_app_startup (tests.test_app.AppTests) ... ok | ||
+ | test_full_screen_set (tests.test_window.TestWindow) ... ok | ||
+ | test_on_close (tests.test_window.TestWindow) ... ok | ||
+ | test_position_getter_and_setter (tests.test_window.TestWindow) ... ok | ||
+ | test_size_getter_and_setter (tests.test_window.TestWindow) ... ok | ||
+ | test_toolbar (tests.test_window.TestWindow) ... ok | ||
+ | test_widget_created (tests.test_window.TestWindow) ... ok | ||
+ | test_window_title (tests.test_window.TestWindow) ... ok | ||
+ | test_append (tests.sources.test_list_source.ListSourceTests) | ||
+ | You can append to a list source using positional args ... ok | ||
+ | test_append_kwarg (tests.sources.test_list_source.ListSourceTests) | ||
+ | You can append to a list source using kwargs ... ok | ||
+ | test_clear (tests.sources.test_list_source.ListSourceTests) | ||
+ | A list source can be cleared ... ok | ||
+ | test_get_row_index (tests.sources.test_list_source.ListSourceTests) | ||
+ | You can get the index of any row within a list source ... ok | ||
+ | test_init_with_dict (tests.sources.test_list_source.ListSourceTests) | ||
+ | A ListSource can be instantiated from dicts ... ok | ||
+ | test_init_with_flat_list_of_numbers (tests.sources.test_list_source.ListSourceTests) | ||
+ | A list source can be created from a flat list of numbers ... ok | ||
+ | test_init_with_flat_list_of_objects (tests.sources.test_list_source.ListSourceTests) | ||
+ | A list source can be created from a flat list of objects ... ok | ||
+ | test_init_with_flat_list_of_strings (tests.sources.test_list_source.ListSourceTests) | ||
+ | A list source can be created from a flat list of strings ... ok | ||
+ | test_init_with_list (tests.sources.test_list_source.ListSourceTests) | ||
+ | A ListSource can be instantiated from lists ... ok | ||
+ | test_init_with_tuple (tests.sources.test_list_source.ListSourceTests) | ||
+ | A ListSource can be instantiated from tuples ... ok | ||
+ | test_insert (tests.sources.test_list_source.ListSourceTests) | ||
+ | You can insert into a list source using positional args ... ok | ||
+ | test_insert_kwarg (tests.sources.test_list_source.ListSourceTests) | ||
+ | You can insert into a list source using kwargs ... ok | ||
+ | test_iter (tests.sources.test_list_source.ListSourceTests) | ||
+ | A list source can be iterated over ... ok | ||
+ | test_prepend (tests.sources.test_list_source.ListSourceTests) | ||
+ | You can prepend to a list source using positional args ... ok | ||
+ | test_prepend_kwarg (tests.sources.test_list_source.ListSourceTests) | ||
+ | You can prepend to a list source using kwargs ... ok | ||
+ | test_remove (tests.sources.test_list_source.ListSourceTests) | ||
+ | You can remove an item from a list source ... ok | ||
+ | test_change_value (tests.sources.test_list_source.RowTests) | ||
+ | If a row value changes, the source is notified ... ok | ||
+ | test_initial_state (tests.sources.test_list_source.RowTests) | ||
+ | A row holds values as expected ... ok | ||
+ | test_listeners (tests.sources.test_source.SourceTests) ... ok | ||
+ | test_missing_listener_method (tests.sources.test_source.SourceTests) ... ok | ||
+ | test_clear_value (tests.sources.test_value_source.ValueTests) | ||
+ | If the value is cleared, internal representation is updated, and notifications are propegated ... ok | ||
+ | test_initial_state (tests.sources.test_value_source.ValueTests) | ||
+ | A test value holds data as expected ... ok | ||
+ | test_set_value (tests.sources.test_value_source.ValueTests) | ||
+ | If the value is modified, internal representation is updated, and notifications are propegated ... ok | ||
+ | test_change_value (tests.sources.test_tree_source.LeafNodeTests) | ||
+ | If a node value changes, the source is notified ... ok | ||
+ | test_initial_state (tests.sources.test_tree_source.LeafNodeTests) | ||
+ | A node holds values as expected ... ok | ||
+ | test_iterate_children (tests.sources.test_tree_source.LeafNodeTests) | ||
+ | Children of a node can be iterated over -- should have no children ... ok | ||
+ | test_append_child (tests.sources.test_tree_source.NodeTests) | ||
+ | A new child can be appended; defers to the source ... ok | ||
+ | test_change_child (tests.sources.test_tree_source.NodeTests) | ||
+ | Changing a child notifies the source ... ok | ||
+ | test_change_value (tests.sources.test_tree_source.NodeTests) | ||
+ | If a node value changes, the source is notified ... ok | ||
+ | test_empty_children (tests.sources.test_tree_source.NodeTests) | ||
+ | A parent with 0 children isn't the same as a parent who *can't* have children ... ok | ||
+ | test_initial_state (tests.sources.test_tree_source.NodeTests) | ||
+ | A node holds values as expected ... ok | ||
+ | test_insert_child (tests.sources.test_tree_source.NodeTests) | ||
+ | A new child can be inserted; defers to the source ... ok | ||
+ | test_iterate_children (tests.sources.test_tree_source.NodeTests) | ||
+ | Children of a node can be iterated over ... ok | ||
+ | test_prepend_child (tests.sources.test_tree_source.NodeTests) | ||
+ | A new child can be prepended; defers to the source ... ok | ||
+ | test_remove_child (tests.sources.test_tree_source.NodeTests) | ||
+ | A child can be removed; defers to the source ... ok | ||
+ | test___setitem___for_child (tests.sources.test_tree_source.TreeSourceTests) | ||
+ | A child can be set (changed) with __setitem__ ... ok | ||
+ | test___setitem___for_root (tests.sources.test_tree_source.TreeSourceTests) | ||
+ | A root can be set (changed) with __setitem__ ... ok | ||
+ | test_append_child (tests.sources.test_tree_source.TreeSourceTests) | ||
+ | A new child can be appended ... ok | ||
+ | test_append_root (tests.sources.test_tree_source.TreeSourceTests) | ||
+ | A new root can be appended ... ok | ||
+ | test_get_node_index (tests.sources.test_tree_source.TreeSourceTests) | ||
+ | You can get the index of any node within a tree source, relative to its parent ... ok | ||
+ | test_init_with_dict_of_dicts (tests.sources.test_tree_source.TreeSourceTests) | ||
+ | TreeSource nodes can be instantiated from dicts of dicts ... ok | ||
+ | test_init_with_dict_of_lists (tests.sources.test_tree_source.TreeSourceTests) | ||
+ | TreeSource nodes can be instantiated from dicts of lists ... ok | ||
+ | test_init_with_list_of_dicts (tests.sources.test_tree_source.TreeSourceTests) | ||
+ | TreeSource nodes can be instantiated from lists of dicts ... ok | ||
+ | test_init_with_list_of_tuples (tests.sources.test_tree_source.TreeSourceTests) | ||
+ | TreeSources can be instantiated from lists of tuples ... ok | ||
+ | test_insert_child_args (tests.sources.test_tree_source.TreeSourceTests) | ||
+ | A new child can be inserted using value args ... ok | ||
+ | test_insert_child_kwargs (tests.sources.test_tree_source.TreeSourceTests) | ||
+ | A new child can be inserted using kwargs ... ok | ||
+ | test_insert_first_child (tests.sources.test_tree_source.TreeSourceTests) | ||
+ | If a node previously didn't allow children, inserting changes this ... ok | ||
+ | test_insert_root_args (tests.sources.test_tree_source.TreeSourceTests) | ||
+ | A new root can be inserted using value args ... ok | ||
+ | test_insert_root_kwargs (tests.sources.test_tree_source.TreeSourceTests) | ||
+ | A new root can be inserted using kwargs ... ok | ||
+ | test_iter (tests.sources.test_tree_source.TreeSourceTests) | ||
+ | TreeSource roots can be iterated over ... ok | ||
+ | test_prepend_child (tests.sources.test_tree_source.TreeSourceTests) | ||
+ | A new child can be prepended ... ok | ||
+ | test_prepend_root (tests.sources.test_tree_source.TreeSourceTests) | ||
+ | A new root can be prepended ... ok | ||
+ | test_remove_child (tests.sources.test_tree_source.TreeSourceTests) | ||
+ | A child can be removed ... ok | ||
+ | test_remove_root (tests.sources.test_tree_source.TreeSourceTests) | ||
+ | A root can be removed ... ok | ||
+ | test_accessor_dict (tests.sources.test_accessors.BuildAccessorsTests) | ||
+ | Accessor overrides can be specified as a dictionary ... ok | ||
+ | test_accessor_list_mismatch (tests.sources.test_accessors.BuildAccessorsTests) | ||
+ | The number of headings must match the number of accessors if specified as a list ... ok | ||
+ | test_autoconvert (tests.sources.test_accessors.BuildAccessorsTests) | ||
+ | If no accessors are provided, the headings are autoconverted ... ok | ||
+ | test_autoconvert_failure (tests.sources.test_accessors.BuildAccessorsTests) | ||
+ | If no accessors are provided, all the headings must be autoconvertable ... ok | ||
+ | test_manual_accessor_list (tests.sources.test_accessors.BuildAccessorsTests) | ||
+ | Accessors can be compltely manually specified ... ok | ||
+ | test_partial_accessor_list (tests.sources.test_accessors.BuildAccessorsTests) | ||
+ | None is interpreted as a default on an accessor override list ... ok | ||
+ | test_unique_accessors (tests.sources.test_accessors.BuildAccessorsTests) | ||
+ | The final accessors must be unique ... ok | ||
+ | test_digit_first (tests.sources.test_accessors.ToAccessorTests) | ||
+ | A digit-first name can't be automatically generated ... ok | ||
+ | test_simple (tests.sources.test_accessors.ToAccessorTests) | ||
+ | Simple cases can be converted ... ok | ||
+ | test_symbols_only (tests.sources.test_accessors.ToAccessorTests) | ||
+ | A symbol-only name can't be automatically generated ... ok | ||
+ | test_whitespace_duplicates (tests.sources.test_accessors.ToAccessorTests) | ||
+ | Multiple whitespace characters are collapsed, after other substitutions have been performed ... ok | ||
+ | test_is_printable (tests.test_key.TestKey) ... ok | ||
+ | test_direction_property_default (tests.widgets.test_splitcontainer.SplitContainerTests) ... ok | ||
+ | test_setting_content_false_input (tests.widgets.test_splitcontainer.SplitContainerTests) ... ok | ||
+ | test_setting_content_invokes_impl_method (tests.widgets.test_splitcontainer.SplitContainerTests) ... ok | ||
+ | test_setting_content_valid_input (tests.widgets.test_splitcontainer.SplitContainerTests) ... ok | ||
+ | test_setting_direction_property_invokes_impl_method (tests.widgets.test_splitcontainer.SplitContainerTests) ... ok | ||
+ | test_widget_created (tests.widgets.test_splitcontainer.SplitContainerTests) ... ok | ||
+ | test_min_max_values (tests.widgets.test_numberinput.NumberInputTests) ... ok | ||
+ | test_on_change (tests.widgets.test_numberinput.NumberInputTests) ... ok | ||
+ | test_set_value (tests.widgets.test_numberinput.NumberInputTests) ... ok | ||
+ | test_step (tests.widgets.test_numberinput.NumberInputTests) ... ok | ||
+ | test_widget_created (tests.widgets.test_numberinput.NumberInputTests) ... ok | ||
+ | test_detailedlist_property (tests.widgets.test_detailedlist.TestDetailedList) ... ok | ||
+ | test_scroll_to_bottom (tests.widgets.test_detailedlist.TestDetailedList) ... ok | ||
+ | test_scroll_to_row (tests.widgets.test_detailedlist.TestDetailedList) ... ok | ||
+ | test_scroll_to_top (tests.widgets.test_detailedlist.TestDetailedList) ... ok | ||
+ | test_widget_created (tests.widgets.test_detailedlist.TestDetailedList) ... ok | ||
+ | test_adding_container_invokes_add_content (tests.widgets.test_optioncontainer.OptionContainerTests) ... ok | ||
+ | test_widget_created (tests.widgets.test_optioncontainer.OptionContainerTests) ... ok | ||
+ | test_icon_bind (tests.widgets.test_icon.TestIcon) ... ok | ||
+ | test_get_selected_item_invokes_impl_method (tests.widgets.test_selection.SelectionTests) ... ok | ||
+ | test_items_were_set (tests.widgets.test_selection.SelectionTests) ... ok | ||
+ | test_on_select (tests.widgets.test_selection.SelectionTests) ... ok | ||
+ | test_set_items (tests.widgets.test_selection.SelectionTests) ... ok | ||
+ | test_set_selected_item_invokes_impl_methods (tests.widgets.test_selection.SelectionTests) ... ok | ||
+ | test_set_selected_item_is_in_items (tests.widgets.test_selection.SelectionTests) ... ok | ||
+ | test_widget_created (tests.widgets.test_selection.SelectionTests) ... ok | ||
+ | test_evaluate (tests.widgets.test_webview.WebViewTests) ... ok | ||
+ | test_get_dom (tests.widgets.test_webview.WebViewTests) ... ok | ||
+ | test_get_user_agent (tests.widgets.test_webview.WebViewTests) ... ok | ||
+ | test_set_content_invokes_impl_method (tests.widgets.test_webview.WebViewTests) ... ok | ||
+ | test_set_user_agent (tests.widgets.test_webview.WebViewTests) ... ok | ||
+ | test_setting_url_invokes_impl_method (tests.widgets.test_webview.WebViewTests) ... ok | ||
+ | test_widget_created (tests.widgets.test_webview.WebViewTests) ... ok | ||
+ | test_button_label (tests.widgets.test_button.ButtonTests) ... ok | ||
+ | test_button_label_with_None (tests.widgets.test_button.ButtonTests) ... ok | ||
+ | test_button_on_press (tests.widgets.test_button.ButtonTests) ... ok | ||
+ | test_widget_created (tests.widgets.test_button.ButtonTests) ... ok | ||
+ | test_widget_created (tests.widgets.test_navigationview.NavigationViewTests) ... skipped 'Not implemented!' | ||
+ | test_disabled_cases (tests.widgets.test_progressbar.ProgressBarTests) ... ok | ||
+ | test_set_max_to_none (tests.widgets.test_progressbar.ProgressBarTests) ... ok | ||
+ | test_set_max_to_number (tests.widgets.test_progressbar.ProgressBarTests) ... ok | ||
+ | test_set_value_to_none (tests.widgets.test_progressbar.ProgressBarTests) ... ok | ||
+ | test_set_value_to_number_greater_than_max (tests.widgets.test_progressbar.ProgressBarTests) ... ok | ||
+ | test_set_value_to_number_less_than_max (tests.widgets.test_progressbar.ProgressBarTests) ... ok | ||
+ | test_start (tests.widgets.test_progressbar.ProgressBarTests) ... ok | ||
+ | test_stop (tests.widgets.test_progressbar.ProgressBarTests) ... ok | ||
+ | test_widget_created (tests.widgets.test_progressbar.ProgressBarTests) ... ok | ||
+ | test_getting_image_invokes_impl_method (tests.widgets.test_imageview.ImageViewTests) ... ok | ||
+ | test_setting_image_invokes_impl_method (tests.widgets.test_imageview.ImageViewTests) ... ok | ||
+ | test_widget_created (tests.widgets.test_imageview.ImageViewTests) ... ok | ||
+ | test_arguments_are_all_set_properly (tests.widgets.test_textinput.TextInputTests) ... ok | ||
+ | test_clear (tests.widgets.test_textinput.TextInputTests) ... ok | ||
+ | test_getting_value_invokes_impl_method (tests.widgets.test_textinput.TextInputTests) ... ok | ||
+ | test_on_change_callback_set (tests.widgets.test_textinput.TextInputTests) ... ok | ||
+ | test_set_placeholder_with_None (tests.widgets.test_textinput.TextInputTests) ... ok | ||
+ | test_set_value_with_None (tests.widgets.test_textinput.TextInputTests) ... ok | ||
+ | test_setting_value_invokes_impl_method (tests.widgets.test_textinput.TextInputTests) ... ok | ||
+ | test_widget_created (tests.widgets.test_textinput.TextInputTests) ... ok | ||
+ | test_custom_data_source (tests.widgets.test_table.TableTests) ... ok | ||
+ | test_list_of_lists_data_source (tests.widgets.test_table.TableTests) ... ok | ||
+ | test_nothing_selected (tests.widgets.test_table.TableTests) ... ok | ||
+ | test_scroll_to_bottom (tests.widgets.test_table.TableTests) ... ok | ||
+ | test_scroll_to_row (tests.widgets.test_table.TableTests) ... ok | ||
+ | test_scroll_to_top (tests.widgets.test_table.TableTests) ... ok | ||
+ | test_widget_created (tests.widgets.test_table.TableTests) ... ok | ||
+ | test_box_with_without_factory (tests.widgets.test_box.BoxTests) ... ok | ||
+ | test_children_added (tests.widgets.test_box.BoxTests) ... ok | ||
+ | test_widget_created (tests.widgets.test_box.BoxTests) ... ok | ||
+ | test_update_label_text (tests.widgets.test_label.LabelTests) ... ok | ||
+ | test_widget_created (tests.widgets.test_label.LabelTests) ... ok | ||
+ | test_arguments_are_all_set_properly (tests.widgets.test_switch.SwitchTests) ... ok | ||
+ | test_getting_is_on_invokes_impl_method (tests.widgets.test_switch.SwitchTests) ... ok | ||
+ | test_label_with_None (tests.widgets.test_switch.SwitchTests) ... ok | ||
+ | test_setting_is_on_invokes_impl_method (tests.widgets.test_switch.SwitchTests) ... ok | ||
+ | test_setting_label_invokes_impl_method (tests.widgets.test_switch.SwitchTests) ... ok | ||
+ | test_widget_created (tests.widgets.test_switch.SwitchTests) ... ok | ||
+ | test_data_setter_creates_tree_with_data_none (tests.widgets.test_tree.TreeTests) ... ok | ||
+ | test_data_setter_creates_tree_with_data_source (tests.widgets.test_tree.TreeTests) ... ok | ||
+ | test_data_setter_creates_tree_with_list_data (tests.widgets.test_tree.TreeTests) ... ok | ||
+ | test_data_setter_creates_tree_with_tuple_data (tests.widgets.test_tree.TreeTests) ... ok | ||
+ | test_setter_creates_tree_with_dict_data (tests.widgets.test_tree.TreeTests) ... ok | ||
+ | test_widget_created (tests.widgets.test_tree.TreeTests) ... ok | ||
+ | test_false_range (tests.widgets.test_slider.SliderTests) ... ok | ||
+ | test_get_value_invokes_impl_method (tests.widgets.test_slider.SliderTests) ... ok | ||
+ | test_new_value_is_None (tests.widgets.test_slider.SliderTests) ... ok | ||
+ | test_new_value_out_of_range (tests.widgets.test_slider.SliderTests) ... ok | ||
+ | test_new_value_works_with_range (tests.widgets.test_slider.SliderTests) ... ok | ||
+ | test_parameter_are_all_set_correctly (tests.widgets.test_slider.SliderTests) ... ok | ||
+ | test_set_enabled_with_working_values (tests.widgets.test_slider.SliderTests) ... ok | ||
+ | test_set_value_invokes_impl_method (tests.widgets.test_slider.SliderTests) ... ok | ||
+ | test_widget_created (tests.widgets.test_slider.SliderTests) ... ok | ||
+ | test_working_range_values (tests.widgets.test_slider.SliderTests) ... ok | ||
+ | test_object_created (tests.widgets.test_image.ImageTests) ... ok | ||
+ | test_path (tests.widgets.test_image.ImageTests) ... ok | ||
+ | test_adding_child (tests.widgets.test_base.WidgetTests) ... ok | ||
+ | test_adding_children (tests.widgets.test_base.WidgetTests) ... ok | ||
+ | test_arguments_were_set_correctly (tests.widgets.test_base.WidgetTests) ... ok | ||
+ | test_create_widget_with_no_style (tests.widgets.test_base.WidgetTests) ... ok | ||
+ | test_enabled_with_None (tests.widgets.test_base.WidgetTests) ... ok | ||
+ | test_multiline_properties_with_None (tests.widgets.test_multilinetextinput.MultilineTextInputTests) ... ok | ||
+ | test_multiline_values (tests.widgets.test_multilinetextinput.MultilineTextInputTests) ... ok | ||
+ | test_widget_created (tests.widgets.test_multilinetextinput.MultilineTextInputTests) ... ok | ||
+ | test_arc_modify (tests.widgets.test_canvas.CanvasTests) ... ok | ||
+ | test_arc_repr (tests.widgets.test_canvas.CanvasTests) ... ok | ||
+ | test_arc_simple (tests.widgets.test_canvas.CanvasTests) ... ok | ||
+ | test_basic_drawing (tests.widgets.test_canvas.CanvasTests) ... ok | ||
+ | test_bezier_curve_to_modify (tests.widgets.test_canvas.CanvasTests) ... ok | ||
+ | test_bezier_curve_to_repr (tests.widgets.test_canvas.CanvasTests) ... ok | ||
+ | test_bezier_curve_to_simple (tests.widgets.test_canvas.CanvasTests) ... ok | ||
+ | test_closed_path_modify (tests.widgets.test_canvas.CanvasTests) ... ok | ||
+ | test_closed_path_repr (tests.widgets.test_canvas.CanvasTests) ... ok | ||
+ | test_context_repr (tests.widgets.test_canvas.CanvasTests) ... ok | ||
+ | test_draw_3circles (tests.widgets.test_canvas.CanvasTests) ... ok | ||
+ | test_draw_triangle (tests.widgets.test_canvas.CanvasTests) ... ok | ||
+ | test_ellipse_modify (tests.widgets.test_canvas.CanvasTests) ... ok | ||
+ | test_ellipse_repr (tests.widgets.test_canvas.CanvasTests) ... ok | ||
+ | test_ellipse_simple (tests.widgets.test_canvas.CanvasTests) ... ok | ||
+ | test_fill_checks (tests.widgets.test_canvas.CanvasTests) ... ok | ||
+ | test_fill_modify (tests.widgets.test_canvas.CanvasTests) ... ok | ||
+ | test_fill_repr (tests.widgets.test_canvas.CanvasTests) ... ok | ||
+ | test_line_to_modify (tests.widgets.test_canvas.CanvasTests) ... ok | ||
+ | test_line_to_repr (tests.widgets.test_canvas.CanvasTests) ... ok | ||
+ | test_line_to_simple (tests.widgets.test_canvas.CanvasTests) ... ok | ||
+ | test_move_to_modify (tests.widgets.test_canvas.CanvasTests) ... ok | ||
+ | test_move_to_repr (tests.widgets.test_canvas.CanvasTests) ... ok | ||
+ | test_move_to_simple (tests.widgets.test_canvas.CanvasTests) ... ok | ||
+ | test_new_path_remove (tests.widgets.test_canvas.CanvasTests) ... ok | ||
+ | test_new_path_repr (tests.widgets.test_canvas.CanvasTests) ... ok | ||
+ | test_new_path_simple (tests.widgets.test_canvas.CanvasTests) ... ok | ||
+ | test_quadratic_curve_to_modify (tests.widgets.test_canvas.CanvasTests) ... ok | ||
+ | test_quadratic_curve_to_repr (tests.widgets.test_canvas.CanvasTests) ... ok | ||
+ | test_quadratic_curve_to_simple (tests.widgets.test_canvas.CanvasTests) ... ok | ||
+ | test_rect_modify (tests.widgets.test_canvas.CanvasTests) ... ok | ||
+ | test_rect_repr (tests.widgets.test_canvas.CanvasTests) ... ok | ||
+ | test_remove_arc (tests.widgets.test_canvas.CanvasTests) ... ok | ||
+ | test_reset_transform_repr (tests.widgets.test_canvas.CanvasTests) ... ok | ||
+ | test_reset_transform_simple (tests.widgets.test_canvas.CanvasTests) ... ok | ||
+ | test_rotate_modify (tests.widgets.test_canvas.CanvasTests) ... ok | ||
+ | test_rotate_repr (tests.widgets.test_canvas.CanvasTests) ... ok | ||
+ | test_rotate_simple (tests.widgets.test_canvas.CanvasTests) ... ok | ||
+ | test_scale_modify (tests.widgets.test_canvas.CanvasTests) ... ok | ||
+ | test_scale_repr (tests.widgets.test_canvas.CanvasTests) ... ok | ||
+ | test_scale_simple (tests.widgets.test_canvas.CanvasTests) ... ok | ||
+ | test_self_oval_path (tests.widgets.test_canvas.CanvasTests) ... ok | ||
+ | test_stroke_modify (tests.widgets.test_canvas.CanvasTests) ... ok | ||
+ | test_stroke_repr (tests.widgets.test_canvas.CanvasTests) ... ok | ||
+ | test_translate_modify (tests.widgets.test_canvas.CanvasTests) ... ok | ||
+ | test_translate_repr (tests.widgets.test_canvas.CanvasTests) ... ok | ||
+ | test_translate_simple (tests.widgets.test_canvas.CanvasTests) ... ok | ||
+ | test_widget_created (tests.widgets.test_canvas.CanvasTests) ... ok | ||
+ | test_write_text_default (tests.widgets.test_canvas.CanvasTests) ... ok | ||
+ | test_write_text_modify (tests.widgets.test_canvas.CanvasTests) ... ok | ||
+ | test_write_text_repr (tests.widgets.test_canvas.CanvasTests) ... ok | ||
+ | test_write_text_simple (tests.widgets.test_canvas.CanvasTests) ... ok | ||
+ | test_horizontal_property (tests.widgets.test_scrollcontainer.ScrollContainerTests) ... ok | ||
+ | test_set_content_with_None (tests.widgets.test_scrollcontainer.ScrollContainerTests) ... ok | ||
+ | test_set_content_with_widget (tests.widgets.test_scrollcontainer.ScrollContainerTests) ... ok | ||
+ | test_vertical_property (tests.widgets.test_scrollcontainer.ScrollContainerTests) ... ok | ||
+ | test_widget_created (tests.widgets.test_scrollcontainer.ScrollContainerTests) ... ok | ||
+ | test_widget (tests.widgets.test_passwordinput.PasswordInputTests) ... ok | ||
+ | test_widget_created (tests.widgets.test_passwordinput.PasswordInputTests) ... ok | ||
+ | |||
+ | ---------------------------------------------------------------------- | ||
+ | Ran 273 tests in 0.501s | ||
+ | |||
+ | OK (skipped=1) | ||
+ | russ@ubuntu-18-base:~/toga/src/core$ | ||
+ | |||
+ | >================== run tutorial inside of spyder with adjusted sys.path ===================== | ||
+ | |||
+ | running in spyter, the toga_2.py gets its own interpreter, start fresh each time | ||
+ | |||
+ | |||
+ | added code for sys.path ( does not run without this, some may have more than absolutely necessary ) | ||
+ | |||
+ | print( "--- modify sys.path if necessary add until it works ---" ) | ||
+ | import sys | ||
+ | for_sys_path = [] | ||
+ | for_sys_path.append( "/home/russ/python03" ) | ||
+ | for_sys_path.append( "/home/russ/toga/src" ) | ||
+ | for_sys_path.append( "/home/russ/toga/src/core" ) | ||
+ | for_sys_path.append( "/home/russ/toga/src/gtk" ) | ||
+ | for_sys_path.append( '/home/russ/anaconda3/lib/python3.6/site-packages' ) | ||
+ | test_path_add = for_sys_path [0] | ||
+ | |||
+ | if sys.path[ 0 ] != test_path_add: | ||
+ | print( "adding to sys.path" ) | ||
+ | sys.path = for_sys_path + sys.path | ||
+ | pass | ||
+ | else: | ||
+ | print( " sys.path already modified" ) | ||
+ | |||
+ | ...... rest of file taken from: | ||
+ | |||
+ | ---------------- here is spyder ipython console ------------------ | ||
+ | |||
+ | |||
+ | runfile('/home/russ/python03/toga_proj/toga_2.py', wdir='/home/russ/python03/toga_proj') | ||
+ | --- modify sys.path if necessary add until it works --- | ||
+ | adding to sys.path | ||
+ | sys.path = ['/home/russ/python03', '/home/russ/toga/src', '/home/russ/toga/src/core', '/home/russ/toga/src/gtk', '/home/russ/anaconda3/lib/python3.6/site-packages', '', '/usr/lib/python36.zip', '/usr/lib/python3.6', '/usr/lib/python3.6/lib-dynload', '/home/russ/.local/lib/python3.6/site-packages', '/usr/local/lib/python3.6/dist-packages', '/usr/lib/python3/dist-packages', '/usr/lib/python3/dist-packages/IPython/extensions', '/home/russ/.ipython'] | ||
+ | [GTK+] Not implemented: Widget.set_hidden() | ||
+ | [GTK+] Not implemented: Widget.set_hidden() | ||
+ | [GTK+] Not implemented: Widget.set_hidden() | ||
+ | [GTK+] Not implemented: TextInput.set_alignment() | ||
+ | [GTK+] Not implemented: TextInput.set_font() | ||
+ | [GTK+] Not implemented: TextInput.set_font() | ||
+ | [GTK+] Not implemented: TextInput.set_font() | ||
+ | [GTK+] Not implemented: TextInput.set_font() | ||
+ | [GTK+] Not implemented: TextInput.set_font() | ||
+ | [GTK+] Not implemented: Widget.set_hidden() | ||
+ | [GTK+] Not implemented: TextInput.set_alignment() | ||
+ | [GTK+] Not implemented: TextInput.set_font() | ||
+ | [GTK+] Not implemented: TextInput.set_font() | ||
+ | [GTK+] Not implemented: TextInput.set_font() | ||
+ | [GTK+] Not implemented: TextInput.set_font() | ||
+ | [GTK+] Not implemented: TextInput.set_font() | ||
+ | [GTK+] Not implemented: Widget.set_hidden() | ||
+ | [GTK+] Not implemented: Widget.set_hidden() | ||
+ | [GTK+] Not implemented: Widget.set_hidden() | ||
+ | [GTK+] Not implemented: Widget.set_hidden() | ||
+ | [GTK+] Not implemented: Button.set_background_color() | ||
+ | [GTK+] Not implemented: Widget.set_hidden() | ||
+ | |||
+ | ======================= in terminal following ipython fails =================== | ||
+ | |||
+ | |||
+ | russ@ubuntu-18-base:~$ python /home/russ/python03/toga_proj/toga_2.py | ||
+ | --- modify sys.path if necessary --- | ||
+ | adding to sys.path | ||
+ | sys.path = ['/home/russ/python03', '/home/russ/toga/src', '/home/russ/toga/src/core', '/home/russ/toga/src/gtk', '/home/russ/anaconda3/lib/python3.6/site-packages', '', '/usr/lib/python36.zip', '/usr/lib/python3.6', '/usr/lib/python3.6/lib-dynload', '/home/russ/.local/lib/python3.6/site-packages', '/usr/local/lib/python3.6/dist-packages', '/usr/lib/python3/dist-packages', '/usr/lib/python3/dist-packages/IPython/extensions', '/home/russ/.ipython'] | ||
+ | Traceback (most recent call last): | ||
+ | File "/usr/lib/python3.6/asyncio/__init__.py", line 9, in <module> | ||
+ | from . import selectors | ||
+ | ImportError: cannot import name 'selectors' | ||
+ | |||
+ | During handling of the above exception, another exception occurred: | ||
+ | |||
+ | Traceback (most recent call last): | ||
+ | File "/home/russ/python03/toga_proj/toga_2.py", line 43, in <module> | ||
+ | import toga | ||
+ | File "/home/russ/toga/src/core/toga/__init__.py", line 1, in <module> | ||
+ | from .app import * | ||
+ | File "/home/russ/toga/src/core/toga/app.py", line 6, in <module> | ||
+ | from toga.command import CommandSet | ||
+ | File "/home/russ/toga/src/core/toga/command.py", line 1, in <module> | ||
+ | from toga.handlers import wrapped_handler | ||
+ | File "/home/russ/toga/src/core/toga/handlers.py", line 1, in <module> | ||
+ | import asyncio | ||
+ | File "/usr/lib/python3.6/asyncio/__init__.py", line 11, in <module> | ||
+ | import selectors # Will also be exported. | ||
+ | File "/usr/lib/python3.6/selectors.py", line 10, in <module> | ||
+ | import math | ||
+ | ModuleNotFoundError: No module named 'math' | ||
+ | russ@ubuntu-18-base:~$ | ||
+ | |||
+ | ------------------------ similiar failure in straight ahead python ..... --------------------- | ||
+ | |||
+ | ----- no output shown | ||
+ | |||
+ | ------------------------- works in ipython from terminal if path setting is changed to: --------------- | ||
+ | |||
+ | # brute force | ||
+ | print( " sys.path set from literal" ) | ||
+ | sys.path = ['/home/russ/python03', '/home/russ/toga/src', '/home/russ/toga/src/core', '/home/russ/toga/src/gtk', '/home/russ/anaconda3/lib/python3.6/site-packages', | ||
+ | '', '/usr/lib/python36.zip', '/usr/lib/python3.6', '/usr/lib/python3.6/lib-dynload', '/home/russ/.local/lib/python3.6/site-packages', '/usr/local/lib/python3.6/dist-packages', | ||
+ | '/usr/lib/python3/dist-packages', '/usr/lib/python3/dist-packages/IPython/extensions', '/home/russ/.ipython'] | ||
+ | |||
+ | ----------- | ||
+ | |||
+ | |||
+ | |||
</pre> | </pre> |
Revision as of 10:30, 2 August 2018
What
This page is a log of setting up Toga on Ubuntu for Spyder see: Setup Toga with Spyder
The Log
==================== most of terminal and console output trying to get toga to run on ubuntu with anaconda and spyder some things work and other not search on >= for major sections in this file =================== > ============================= git and pip ============= russ@ubuntu-18-base:~$ git config --global user.name "russ-hensel" russ@ubuntu-18-base:~$ git config --global user.email xxxx@comcast.net russ@ubuntu-18-base:~$ pip3 install --upgrade pip Collecting pip Downloading https://files.pythonhosted.org/packages/5f/25/e52d3f31441505a5f3af41213346e5b6c221c9e086a166f3703d2ddaf940/pip-18.0-py2.py3-none-any.whl (1.3MB) 100% |████████████████████████████████| 1.3MB 228kB/s Installing collected packages: pip Successfully installed pip-18.0 russ@ubuntu-18-base:~$ git clone https://github.com/russ-hensel/toga.git Cloning into 'toga'... remote: Counting objects: 20364, done. remote: Compressing objects: 100% (133/133), done. remote: Total 20364 (delta 145), reused 152 (delta 108), pack-reused 20123 Receiving objects: 100% (20364/20364), 5.46 MiB | 4.81 MiB/s, done. Resolving deltas: 100% (15716/15716), done. russ@ubuntu-18-base:~$ cd toga russ@ubuntu-18-base:~/toga$ pip install -e src/core Obtaining file:///home/russ/toga/src/core Collecting travertino>=0.1.0 (from toga-core==0.3.0.dev10) Downloading https://files.pythonhosted.org/packages/56/3f/f03efe63c2bdc72763ac39777c9ebbab98605ced5c74aefe48b4fa0abb4d/travertino-0.1.2-py3-none-any.whl Installing collected packages: travertino, toga-core Running setup.py develop for toga-core Successfully installed toga-core travertino-0.1.2 russ@ubuntu-18-base:~/toga$ pip install -e src/dummy Obtaining file:///home/russ/toga/src/dummy Requirement already satisfied: toga-core==0.3.0.dev10 in ./src/core (from toga-dummy==0.3.0.dev10) (0.3.0.dev10) Requirement already satisfied: travertino>=0.1.0 in /home/russ/anaconda3/lib/python3.6/site-packages (from toga-core==0.3.0.dev10->toga-dummy==0.3.0.dev10) (0.1.2) Installing collected packages: toga-dummy Running setup.py develop for toga-dummy Successfully installed toga-dummy >======================= now src/gtk - which fails ====================== russ@ubuntu-18-base:~/toga$ pip install -e src/gtk Obtaining file:///home/russ/toga/src/gtk Requirement already satisfied: toga-core==0.3.0.dev10 in ./src/core (from toga-gtk==0.3.0.dev10) (0.3.0.dev10) Collecting gbulb>=0.5.3 (from toga-gtk==0.3.0.dev10) Downloading https://files.pythonhosted.org/packages/3b/90/b46c4caedb2b14fb6a50201631d8181e1efcf8757182821a05fe572e2c9e/gbulb-0.5.3-py3-none-any.whl Collecting pycairo>=1.17.0 (from toga-gtk==0.3.0.dev10) Downloading https://files.pythonhosted.org/packages/68/76/340ff847897296b2c8174dfa5a5ec3406e3ed783a2abac918cf326abad86/pycairo-1.17.1.tar.gz (194kB) 100% |████████████████████████████████| 194kB 3.0MB/s Collecting pygobject>=3.14.0 (from toga-gtk==0.3.0.dev10) Downloading https://files.pythonhosted.org/packages/e0/e8/1e4f21800015a9ca153969e85fc29f7962f8f82fc5dbc1ecbdeb9dc54c75/PyGObject-3.28.3.tar.gz (698kB) 100% |████████████████████████████████| 706kB 3.4MB/s Requirement already satisfied: travertino>=0.1.0 in /home/russ/anaconda3/lib/python3.6/site-packages (from toga-core==0.3.0.dev10->toga-gtk==0.3.0.dev10) (0.1.2) Building wheels for collected packages: pycairo, pygobject Running setup.py bdist_wheel for pycairo ... error Complete output from command /home/russ/anaconda3/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-g9bg8dc9/pycairo/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/pip-wheel-kvus6_it --python-tag cp36: running bdist_wheel running build running build_py creating build creating build/lib.linux-x86_64-3.6 creating build/lib.linux-x86_64-3.6/cairo copying cairo/__init__.py -> build/lib.linux-x86_64-3.6/cairo copying cairo/__init__.pyi -> build/lib.linux-x86_64-3.6/cairo copying cairo/py.typed -> build/lib.linux-x86_64-3.6/cairo running build_ext 'pkg-config' not found. Command ['pkg-config', '--print-errors', '--exists', 'cairo >= 1.13.1'] ---------------------------------------- Failed building wheel for pycairo Running setup.py clean for pycairo Running setup.py bdist_wheel for pygobject ... error Complete output from command /home/russ/anaconda3/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-g9bg8dc9/pygobject/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/pip-wheel-6d3a8tru --python-tag cp36: running bdist_wheel running build running build_py creating build creating build/lib.linux-x86_64-3.6 creating build/lib.linux-x86_64-3.6/pygtkcompat copying pygtkcompat/__init__.py -> build/lib.linux-x86_64-3.6/pygtkcompat copying pygtkcompat/generictreemodel.py -> build/lib.linux-x86_64-3.6/pygtkcompat copying pygtkcompat/pygtkcompat.py -> build/lib.linux-x86_64-3.6/pygtkcompat creating build/lib.linux-x86_64-3.6/gi copying gi/_propertyhelper.py -> build/lib.linux-x86_64-3.6/gi copying gi/module.py -> build/lib.linux-x86_64-3.6/gi copying gi/_error.py -> build/lib.linux-x86_64-3.6/gi copying gi/types.py -> build/lib.linux-x86_64-3.6/gi copying gi/_signalhelper.py -> build/lib.linux-x86_64-3.6/gi copying gi/_option.py -> build/lib.linux-x86_64-3.6/gi copying gi/__init__.py -> build/lib.linux-x86_64-3.6/gi copying gi/importer.py -> build/lib.linux-x86_64-3.6/gi copying gi/docstring.py -> build/lib.linux-x86_64-3.6/gi copying gi/_ossighelper.py -> build/lib.linux-x86_64-3.6/gi copying gi/pygtkcompat.py -> build/lib.linux-x86_64-3.6/gi copying gi/_constants.py -> build/lib.linux-x86_64-3.6/gi creating build/lib.linux-x86_64-3.6/gi/repository copying gi/repository/__init__.py -> build/lib.linux-x86_64-3.6/gi/repository creating build/lib.linux-x86_64-3.6/gi/overrides copying gi/overrides/GObject.py -> build/lib.linux-x86_64-3.6/gi/overrides copying gi/overrides/Gio.py -> build/lib.linux-x86_64-3.6/gi/overrides copying gi/overrides/GIMarshallingTests.py -> build/lib.linux-x86_64-3.6/gi/overrides copying gi/overrides/Gtk.py -> build/lib.linux-x86_64-3.6/gi/overrides copying gi/overrides/Gdk.py -> build/lib.linux-x86_64-3.6/gi/overrides copying gi/overrides/GLib.py -> build/lib.linux-x86_64-3.6/gi/overrides copying gi/overrides/keysyms.py -> build/lib.linux-x86_64-3.6/gi/overrides copying gi/overrides/Pango.py -> build/lib.linux-x86_64-3.6/gi/overrides copying gi/overrides/__init__.py -> build/lib.linux-x86_64-3.6/gi/overrides running build_ext 'pkg-config' not found. Arguments: ('pkg-config', '--print-errors', '--exists', 'glib-2.0 >= 2.38.0') ---------------------------------------- Failed building wheel for pygobject Running setup.py clean for pygobject Failed to build pycairo pygobject Installing collected packages: gbulb, pycairo, pygobject, toga-gtk Running setup.py install for pycairo ... error Complete output from command /home/russ/anaconda3/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-g9bg8dc9/pycairo/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-record-p1fkc09m/install-record.txt --single-version-externally-managed --compile: running install running build running build_py creating build creating build/lib.linux-x86_64-3.6 creating build/lib.linux-x86_64-3.6/cairo copying cairo/__init__.py -> build/lib.linux-x86_64-3.6/cairo copying cairo/__init__.pyi -> build/lib.linux-x86_64-3.6/cairo copying cairo/py.typed -> build/lib.linux-x86_64-3.6/cairo running build_ext 'pkg-config' not found. Command ['pkg-config', '--print-errors', '--exists', 'cairo >= 1.13.1'] ---------------------------------------- Command "/home/russ/anaconda3/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-g9bg8dc9/pycairo/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-record-p1fkc09m/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-install-g9bg8dc9/pycairo/ russ@ubuntu-18-base:~/toga$ >============= so we have a fail, but lets try testing anyway - it works ===================== Public Templates Videos russ@ubuntu-18-base:~$ cd toga russ@ubuntu-18-base:~/toga$ cd src/core russ@ubuntu-18-base:~/toga/src/core$ python setup.py test running test running egg_info writing toga_core.egg-info/PKG-INFO writing dependency_links to toga_core.egg-info/dependency_links.txt writing requirements to toga_core.egg-info/requires.txt writing top-level names to toga_core.egg-info/top_level.txt reading manifest file 'toga_core.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no files found matching 'LICENSE' warning: no files found matching 'tox.ini' writing manifest file 'toga_core.egg-info/SOURCES.txt' running build_ext test_family (tests.test_font.FontTests) ... ok test_measure (tests.test_font.FontTests) ... ok test_size (tests.test_font.FontTests) ... ok test_style (tests.test_font.FontTests) ... ok test_variant (tests.test_font.FontTests) ... ok test_weight (tests.test_font.FontTests) ... ok test_cmd_sort_key (tests.test_command.TestCommand) ... ok test_command_bind (tests.test_command.TestCommand) ... ok test_command_enabler (tests.test_command.TestCommand) ... ok test_command_init_defaults (tests.test_command.TestCommand) ... ok test_command_init_kargs (tests.test_command.TestCommand) ... ok test_group_eq (tests.test_command.TestCommand) ... ok test_group_init_no_order (tests.test_command.TestCommand) ... ok test_group_init_with_order (tests.test_command.TestCommand) ... ok test_group_lt (tests.test_command.TestCommand) ... ok test_cmdset_add (tests.test_command.TestCommandSet) ... ok test_cmdset_init (tests.test_command.TestCommandSet) ... ok test_cmdset_iter (tests.test_command.TestCommandSet) ... ok test_beeliza (tests.style.test_pack.PackLayoutTests) ... ok test_tutorial_0 (tests.style.test_pack.PackLayoutTests) ... ok test_tutorial_1 (tests.style.test_pack.PackLayoutTests) ... ok test_tutorial_3 (tests.style.test_pack.PackLayoutTests) ... ok test_set_background_color (tests.style.test_pack.TestPackStyleApply) ... ok test_set_center_alignment (tests.style.test_pack.TestPackStyleApply) ... ok test_set_color (tests.style.test_pack.TestPackStyleApply) ... ok test_set_default_left_textalign_when_no_rtl (tests.style.test_pack.TestPackStyleApply) ... ok test_set_default_right_textalign_when_rtl (tests.style.test_pack.TestPackStyleApply) ... ok test_set_font (tests.style.test_pack.TestPackStyleApply) ... ok test_set_visibility_hidden (tests.style.test_pack.TestPackStyleApply) ... ok test_app_app_id (tests.test_app.AppTests) ... ok test_app_documents (tests.test_app.AppTests) ... ok test_app_exit (tests.test_app.AppTests) ... ok test_app_icon (tests.test_app.AppTests) ... ok test_app_id (tests.test_app.AppTests) ... ok test_app_init_with_no_factory (tests.test_app.AppTests) ... ok test_app_main_loop_call_impl_main_loop (tests.test_app.AppTests) ... ok test_app_name (tests.test_app.AppTests) ... ok test_app_open_docuemnts_raise_not_implemented (tests.test_app.AppTests) ... ok test_app_startup (tests.test_app.AppTests) ... ok test_full_screen_set (tests.test_window.TestWindow) ... ok test_on_close (tests.test_window.TestWindow) ... ok test_position_getter_and_setter (tests.test_window.TestWindow) ... ok test_size_getter_and_setter (tests.test_window.TestWindow) ... ok test_toolbar (tests.test_window.TestWindow) ... ok test_widget_created (tests.test_window.TestWindow) ... ok test_window_title (tests.test_window.TestWindow) ... ok test_append (tests.sources.test_list_source.ListSourceTests) You can append to a list source using positional args ... ok test_append_kwarg (tests.sources.test_list_source.ListSourceTests) You can append to a list source using kwargs ... ok test_clear (tests.sources.test_list_source.ListSourceTests) A list source can be cleared ... ok test_get_row_index (tests.sources.test_list_source.ListSourceTests) You can get the index of any row within a list source ... ok test_init_with_dict (tests.sources.test_list_source.ListSourceTests) A ListSource can be instantiated from dicts ... ok test_init_with_flat_list_of_numbers (tests.sources.test_list_source.ListSourceTests) A list source can be created from a flat list of numbers ... ok test_init_with_flat_list_of_objects (tests.sources.test_list_source.ListSourceTests) A list source can be created from a flat list of objects ... ok test_init_with_flat_list_of_strings (tests.sources.test_list_source.ListSourceTests) A list source can be created from a flat list of strings ... ok test_init_with_list (tests.sources.test_list_source.ListSourceTests) A ListSource can be instantiated from lists ... ok test_init_with_tuple (tests.sources.test_list_source.ListSourceTests) A ListSource can be instantiated from tuples ... ok test_insert (tests.sources.test_list_source.ListSourceTests) You can insert into a list source using positional args ... ok test_insert_kwarg (tests.sources.test_list_source.ListSourceTests) You can insert into a list source using kwargs ... ok test_iter (tests.sources.test_list_source.ListSourceTests) A list source can be iterated over ... ok test_prepend (tests.sources.test_list_source.ListSourceTests) You can prepend to a list source using positional args ... ok test_prepend_kwarg (tests.sources.test_list_source.ListSourceTests) You can prepend to a list source using kwargs ... ok test_remove (tests.sources.test_list_source.ListSourceTests) You can remove an item from a list source ... ok test_change_value (tests.sources.test_list_source.RowTests) If a row value changes, the source is notified ... ok test_initial_state (tests.sources.test_list_source.RowTests) A row holds values as expected ... ok test_listeners (tests.sources.test_source.SourceTests) ... ok test_missing_listener_method (tests.sources.test_source.SourceTests) ... ok test_clear_value (tests.sources.test_value_source.ValueTests) If the value is cleared, internal representation is updated, and notifications are propegated ... ok test_initial_state (tests.sources.test_value_source.ValueTests) A test value holds data as expected ... ok test_set_value (tests.sources.test_value_source.ValueTests) If the value is modified, internal representation is updated, and notifications are propegated ... ok test_change_value (tests.sources.test_tree_source.LeafNodeTests) If a node value changes, the source is notified ... ok test_initial_state (tests.sources.test_tree_source.LeafNodeTests) A node holds values as expected ... ok test_iterate_children (tests.sources.test_tree_source.LeafNodeTests) Children of a node can be iterated over -- should have no children ... ok test_append_child (tests.sources.test_tree_source.NodeTests) A new child can be appended; defers to the source ... ok test_change_child (tests.sources.test_tree_source.NodeTests) Changing a child notifies the source ... ok test_change_value (tests.sources.test_tree_source.NodeTests) If a node value changes, the source is notified ... ok test_empty_children (tests.sources.test_tree_source.NodeTests) A parent with 0 children isn't the same as a parent who *can't* have children ... ok test_initial_state (tests.sources.test_tree_source.NodeTests) A node holds values as expected ... ok test_insert_child (tests.sources.test_tree_source.NodeTests) A new child can be inserted; defers to the source ... ok test_iterate_children (tests.sources.test_tree_source.NodeTests) Children of a node can be iterated over ... ok test_prepend_child (tests.sources.test_tree_source.NodeTests) A new child can be prepended; defers to the source ... ok test_remove_child (tests.sources.test_tree_source.NodeTests) A child can be removed; defers to the source ... ok test___setitem___for_child (tests.sources.test_tree_source.TreeSourceTests) A child can be set (changed) with __setitem__ ... ok test___setitem___for_root (tests.sources.test_tree_source.TreeSourceTests) A root can be set (changed) with __setitem__ ... ok test_append_child (tests.sources.test_tree_source.TreeSourceTests) A new child can be appended ... ok test_append_root (tests.sources.test_tree_source.TreeSourceTests) A new root can be appended ... ok test_get_node_index (tests.sources.test_tree_source.TreeSourceTests) You can get the index of any node within a tree source, relative to its parent ... ok test_init_with_dict_of_dicts (tests.sources.test_tree_source.TreeSourceTests) TreeSource nodes can be instantiated from dicts of dicts ... ok test_init_with_dict_of_lists (tests.sources.test_tree_source.TreeSourceTests) TreeSource nodes can be instantiated from dicts of lists ... ok test_init_with_list_of_dicts (tests.sources.test_tree_source.TreeSourceTests) TreeSource nodes can be instantiated from lists of dicts ... ok test_init_with_list_of_tuples (tests.sources.test_tree_source.TreeSourceTests) TreeSources can be instantiated from lists of tuples ... ok test_insert_child_args (tests.sources.test_tree_source.TreeSourceTests) A new child can be inserted using value args ... ok test_insert_child_kwargs (tests.sources.test_tree_source.TreeSourceTests) A new child can be inserted using kwargs ... ok test_insert_first_child (tests.sources.test_tree_source.TreeSourceTests) If a node previously didn't allow children, inserting changes this ... ok test_insert_root_args (tests.sources.test_tree_source.TreeSourceTests) A new root can be inserted using value args ... ok test_insert_root_kwargs (tests.sources.test_tree_source.TreeSourceTests) A new root can be inserted using kwargs ... ok test_iter (tests.sources.test_tree_source.TreeSourceTests) TreeSource roots can be iterated over ... ok test_prepend_child (tests.sources.test_tree_source.TreeSourceTests) A new child can be prepended ... ok test_prepend_root (tests.sources.test_tree_source.TreeSourceTests) A new root can be prepended ... ok test_remove_child (tests.sources.test_tree_source.TreeSourceTests) A child can be removed ... ok test_remove_root (tests.sources.test_tree_source.TreeSourceTests) A root can be removed ... ok test_accessor_dict (tests.sources.test_accessors.BuildAccessorsTests) Accessor overrides can be specified as a dictionary ... ok test_accessor_list_mismatch (tests.sources.test_accessors.BuildAccessorsTests) The number of headings must match the number of accessors if specified as a list ... ok test_autoconvert (tests.sources.test_accessors.BuildAccessorsTests) If no accessors are provided, the headings are autoconverted ... ok test_autoconvert_failure (tests.sources.test_accessors.BuildAccessorsTests) If no accessors are provided, all the headings must be autoconvertable ... ok test_manual_accessor_list (tests.sources.test_accessors.BuildAccessorsTests) Accessors can be compltely manually specified ... ok test_partial_accessor_list (tests.sources.test_accessors.BuildAccessorsTests) None is interpreted as a default on an accessor override list ... ok test_unique_accessors (tests.sources.test_accessors.BuildAccessorsTests) The final accessors must be unique ... ok test_digit_first (tests.sources.test_accessors.ToAccessorTests) A digit-first name can't be automatically generated ... ok test_simple (tests.sources.test_accessors.ToAccessorTests) Simple cases can be converted ... ok test_symbols_only (tests.sources.test_accessors.ToAccessorTests) A symbol-only name can't be automatically generated ... ok test_whitespace_duplicates (tests.sources.test_accessors.ToAccessorTests) Multiple whitespace characters are collapsed, after other substitutions have been performed ... ok test_is_printable (tests.test_key.TestKey) ... ok test_direction_property_default (tests.widgets.test_splitcontainer.SplitContainerTests) ... ok test_setting_content_false_input (tests.widgets.test_splitcontainer.SplitContainerTests) ... ok test_setting_content_invokes_impl_method (tests.widgets.test_splitcontainer.SplitContainerTests) ... ok test_setting_content_valid_input (tests.widgets.test_splitcontainer.SplitContainerTests) ... ok test_setting_direction_property_invokes_impl_method (tests.widgets.test_splitcontainer.SplitContainerTests) ... ok test_widget_created (tests.widgets.test_splitcontainer.SplitContainerTests) ... ok test_min_max_values (tests.widgets.test_numberinput.NumberInputTests) ... ok test_on_change (tests.widgets.test_numberinput.NumberInputTests) ... ok test_set_value (tests.widgets.test_numberinput.NumberInputTests) ... ok test_step (tests.widgets.test_numberinput.NumberInputTests) ... ok test_widget_created (tests.widgets.test_numberinput.NumberInputTests) ... ok test_detailedlist_property (tests.widgets.test_detailedlist.TestDetailedList) ... ok test_scroll_to_bottom (tests.widgets.test_detailedlist.TestDetailedList) ... ok test_scroll_to_row (tests.widgets.test_detailedlist.TestDetailedList) ... ok test_scroll_to_top (tests.widgets.test_detailedlist.TestDetailedList) ... ok test_widget_created (tests.widgets.test_detailedlist.TestDetailedList) ... ok test_adding_container_invokes_add_content (tests.widgets.test_optioncontainer.OptionContainerTests) ... ok test_widget_created (tests.widgets.test_optioncontainer.OptionContainerTests) ... ok test_icon_bind (tests.widgets.test_icon.TestIcon) ... ok test_get_selected_item_invokes_impl_method (tests.widgets.test_selection.SelectionTests) ... ok test_items_were_set (tests.widgets.test_selection.SelectionTests) ... ok test_on_select (tests.widgets.test_selection.SelectionTests) ... ok test_set_items (tests.widgets.test_selection.SelectionTests) ... ok test_set_selected_item_invokes_impl_methods (tests.widgets.test_selection.SelectionTests) ... ok test_set_selected_item_is_in_items (tests.widgets.test_selection.SelectionTests) ... ok test_widget_created (tests.widgets.test_selection.SelectionTests) ... ok test_evaluate (tests.widgets.test_webview.WebViewTests) ... ok test_get_dom (tests.widgets.test_webview.WebViewTests) ... ok test_get_user_agent (tests.widgets.test_webview.WebViewTests) ... ok test_set_content_invokes_impl_method (tests.widgets.test_webview.WebViewTests) ... ok test_set_user_agent (tests.widgets.test_webview.WebViewTests) ... ok test_setting_url_invokes_impl_method (tests.widgets.test_webview.WebViewTests) ... ok test_widget_created (tests.widgets.test_webview.WebViewTests) ... ok test_button_label (tests.widgets.test_button.ButtonTests) ... ok test_button_label_with_None (tests.widgets.test_button.ButtonTests) ... ok test_button_on_press (tests.widgets.test_button.ButtonTests) ... ok test_widget_created (tests.widgets.test_button.ButtonTests) ... ok test_widget_created (tests.widgets.test_navigationview.NavigationViewTests) ... skipped 'Not implemented!' test_disabled_cases (tests.widgets.test_progressbar.ProgressBarTests) ... ok test_set_max_to_none (tests.widgets.test_progressbar.ProgressBarTests) ... ok test_set_max_to_number (tests.widgets.test_progressbar.ProgressBarTests) ... ok test_set_value_to_none (tests.widgets.test_progressbar.ProgressBarTests) ... ok test_set_value_to_number_greater_than_max (tests.widgets.test_progressbar.ProgressBarTests) ... ok test_set_value_to_number_less_than_max (tests.widgets.test_progressbar.ProgressBarTests) ... ok test_start (tests.widgets.test_progressbar.ProgressBarTests) ... ok test_stop (tests.widgets.test_progressbar.ProgressBarTests) ... ok test_widget_created (tests.widgets.test_progressbar.ProgressBarTests) ... ok test_getting_image_invokes_impl_method (tests.widgets.test_imageview.ImageViewTests) ... ok test_setting_image_invokes_impl_method (tests.widgets.test_imageview.ImageViewTests) ... ok test_widget_created (tests.widgets.test_imageview.ImageViewTests) ... ok test_arguments_are_all_set_properly (tests.widgets.test_textinput.TextInputTests) ... ok test_clear (tests.widgets.test_textinput.TextInputTests) ... ok test_getting_value_invokes_impl_method (tests.widgets.test_textinput.TextInputTests) ... ok test_on_change_callback_set (tests.widgets.test_textinput.TextInputTests) ... ok test_set_placeholder_with_None (tests.widgets.test_textinput.TextInputTests) ... ok test_set_value_with_None (tests.widgets.test_textinput.TextInputTests) ... ok test_setting_value_invokes_impl_method (tests.widgets.test_textinput.TextInputTests) ... ok test_widget_created (tests.widgets.test_textinput.TextInputTests) ... ok test_custom_data_source (tests.widgets.test_table.TableTests) ... ok test_list_of_lists_data_source (tests.widgets.test_table.TableTests) ... ok test_nothing_selected (tests.widgets.test_table.TableTests) ... ok test_scroll_to_bottom (tests.widgets.test_table.TableTests) ... ok test_scroll_to_row (tests.widgets.test_table.TableTests) ... ok test_scroll_to_top (tests.widgets.test_table.TableTests) ... ok test_widget_created (tests.widgets.test_table.TableTests) ... ok test_box_with_without_factory (tests.widgets.test_box.BoxTests) ... ok test_children_added (tests.widgets.test_box.BoxTests) ... ok test_widget_created (tests.widgets.test_box.BoxTests) ... ok test_update_label_text (tests.widgets.test_label.LabelTests) ... ok test_widget_created (tests.widgets.test_label.LabelTests) ... ok test_arguments_are_all_set_properly (tests.widgets.test_switch.SwitchTests) ... ok test_getting_is_on_invokes_impl_method (tests.widgets.test_switch.SwitchTests) ... ok test_label_with_None (tests.widgets.test_switch.SwitchTests) ... ok test_setting_is_on_invokes_impl_method (tests.widgets.test_switch.SwitchTests) ... ok test_setting_label_invokes_impl_method (tests.widgets.test_switch.SwitchTests) ... ok test_widget_created (tests.widgets.test_switch.SwitchTests) ... ok test_data_setter_creates_tree_with_data_none (tests.widgets.test_tree.TreeTests) ... ok test_data_setter_creates_tree_with_data_source (tests.widgets.test_tree.TreeTests) ... ok test_data_setter_creates_tree_with_list_data (tests.widgets.test_tree.TreeTests) ... ok test_data_setter_creates_tree_with_tuple_data (tests.widgets.test_tree.TreeTests) ... ok test_setter_creates_tree_with_dict_data (tests.widgets.test_tree.TreeTests) ... ok test_widget_created (tests.widgets.test_tree.TreeTests) ... ok test_false_range (tests.widgets.test_slider.SliderTests) ... ok test_get_value_invokes_impl_method (tests.widgets.test_slider.SliderTests) ... ok test_new_value_is_None (tests.widgets.test_slider.SliderTests) ... ok test_new_value_out_of_range (tests.widgets.test_slider.SliderTests) ... ok test_new_value_works_with_range (tests.widgets.test_slider.SliderTests) ... ok test_parameter_are_all_set_correctly (tests.widgets.test_slider.SliderTests) ... ok test_set_enabled_with_working_values (tests.widgets.test_slider.SliderTests) ... ok test_set_value_invokes_impl_method (tests.widgets.test_slider.SliderTests) ... ok test_widget_created (tests.widgets.test_slider.SliderTests) ... ok test_working_range_values (tests.widgets.test_slider.SliderTests) ... ok test_object_created (tests.widgets.test_image.ImageTests) ... ok test_path (tests.widgets.test_image.ImageTests) ... ok test_adding_child (tests.widgets.test_base.WidgetTests) ... ok test_adding_children (tests.widgets.test_base.WidgetTests) ... ok test_arguments_were_set_correctly (tests.widgets.test_base.WidgetTests) ... ok test_create_widget_with_no_style (tests.widgets.test_base.WidgetTests) ... ok test_enabled_with_None (tests.widgets.test_base.WidgetTests) ... ok test_multiline_properties_with_None (tests.widgets.test_multilinetextinput.MultilineTextInputTests) ... ok test_multiline_values (tests.widgets.test_multilinetextinput.MultilineTextInputTests) ... ok test_widget_created (tests.widgets.test_multilinetextinput.MultilineTextInputTests) ... ok test_arc_modify (tests.widgets.test_canvas.CanvasTests) ... ok test_arc_repr (tests.widgets.test_canvas.CanvasTests) ... ok test_arc_simple (tests.widgets.test_canvas.CanvasTests) ... ok test_basic_drawing (tests.widgets.test_canvas.CanvasTests) ... ok test_bezier_curve_to_modify (tests.widgets.test_canvas.CanvasTests) ... ok test_bezier_curve_to_repr (tests.widgets.test_canvas.CanvasTests) ... ok test_bezier_curve_to_simple (tests.widgets.test_canvas.CanvasTests) ... ok test_closed_path_modify (tests.widgets.test_canvas.CanvasTests) ... ok test_closed_path_repr (tests.widgets.test_canvas.CanvasTests) ... ok test_context_repr (tests.widgets.test_canvas.CanvasTests) ... ok test_draw_3circles (tests.widgets.test_canvas.CanvasTests) ... ok test_draw_triangle (tests.widgets.test_canvas.CanvasTests) ... ok test_ellipse_modify (tests.widgets.test_canvas.CanvasTests) ... ok test_ellipse_repr (tests.widgets.test_canvas.CanvasTests) ... ok test_ellipse_simple (tests.widgets.test_canvas.CanvasTests) ... ok test_fill_checks (tests.widgets.test_canvas.CanvasTests) ... ok test_fill_modify (tests.widgets.test_canvas.CanvasTests) ... ok test_fill_repr (tests.widgets.test_canvas.CanvasTests) ... ok test_line_to_modify (tests.widgets.test_canvas.CanvasTests) ... ok test_line_to_repr (tests.widgets.test_canvas.CanvasTests) ... ok test_line_to_simple (tests.widgets.test_canvas.CanvasTests) ... ok test_move_to_modify (tests.widgets.test_canvas.CanvasTests) ... ok test_move_to_repr (tests.widgets.test_canvas.CanvasTests) ... ok test_move_to_simple (tests.widgets.test_canvas.CanvasTests) ... ok test_new_path_remove (tests.widgets.test_canvas.CanvasTests) ... ok test_new_path_repr (tests.widgets.test_canvas.CanvasTests) ... ok test_new_path_simple (tests.widgets.test_canvas.CanvasTests) ... ok test_quadratic_curve_to_modify (tests.widgets.test_canvas.CanvasTests) ... ok test_quadratic_curve_to_repr (tests.widgets.test_canvas.CanvasTests) ... ok test_quadratic_curve_to_simple (tests.widgets.test_canvas.CanvasTests) ... ok test_rect_modify (tests.widgets.test_canvas.CanvasTests) ... ok test_rect_repr (tests.widgets.test_canvas.CanvasTests) ... ok test_remove_arc (tests.widgets.test_canvas.CanvasTests) ... ok test_reset_transform_repr (tests.widgets.test_canvas.CanvasTests) ... ok test_reset_transform_simple (tests.widgets.test_canvas.CanvasTests) ... ok test_rotate_modify (tests.widgets.test_canvas.CanvasTests) ... ok test_rotate_repr (tests.widgets.test_canvas.CanvasTests) ... ok test_rotate_simple (tests.widgets.test_canvas.CanvasTests) ... ok test_scale_modify (tests.widgets.test_canvas.CanvasTests) ... ok test_scale_repr (tests.widgets.test_canvas.CanvasTests) ... ok test_scale_simple (tests.widgets.test_canvas.CanvasTests) ... ok test_self_oval_path (tests.widgets.test_canvas.CanvasTests) ... ok test_stroke_modify (tests.widgets.test_canvas.CanvasTests) ... ok test_stroke_repr (tests.widgets.test_canvas.CanvasTests) ... ok test_translate_modify (tests.widgets.test_canvas.CanvasTests) ... ok test_translate_repr (tests.widgets.test_canvas.CanvasTests) ... ok test_translate_simple (tests.widgets.test_canvas.CanvasTests) ... ok test_widget_created (tests.widgets.test_canvas.CanvasTests) ... ok test_write_text_default (tests.widgets.test_canvas.CanvasTests) ... ok test_write_text_modify (tests.widgets.test_canvas.CanvasTests) ... ok test_write_text_repr (tests.widgets.test_canvas.CanvasTests) ... ok test_write_text_simple (tests.widgets.test_canvas.CanvasTests) ... ok test_horizontal_property (tests.widgets.test_scrollcontainer.ScrollContainerTests) ... ok test_set_content_with_None (tests.widgets.test_scrollcontainer.ScrollContainerTests) ... ok test_set_content_with_widget (tests.widgets.test_scrollcontainer.ScrollContainerTests) ... ok test_vertical_property (tests.widgets.test_scrollcontainer.ScrollContainerTests) ... ok test_widget_created (tests.widgets.test_scrollcontainer.ScrollContainerTests) ... ok test_widget (tests.widgets.test_passwordinput.PasswordInputTests) ... ok test_widget_created (tests.widgets.test_passwordinput.PasswordInputTests) ... ok ---------------------------------------------------------------------- Ran 273 tests in 0.501s OK (skipped=1) russ@ubuntu-18-base:~/toga/src/core$ >================== run tutorial inside of spyder with adjusted sys.path ===================== running in spyter, the toga_2.py gets its own interpreter, start fresh each time added code for sys.path ( does not run without this, some may have more than absolutely necessary ) print( "--- modify sys.path if necessary add until it works ---" ) import sys for_sys_path = [] for_sys_path.append( "/home/russ/python03" ) for_sys_path.append( "/home/russ/toga/src" ) for_sys_path.append( "/home/russ/toga/src/core" ) for_sys_path.append( "/home/russ/toga/src/gtk" ) for_sys_path.append( '/home/russ/anaconda3/lib/python3.6/site-packages' ) test_path_add = for_sys_path [0] if sys.path[ 0 ] != test_path_add: print( "adding to sys.path" ) sys.path = for_sys_path + sys.path pass else: print( " sys.path already modified" ) ...... rest of file taken from: ---------------- here is spyder ipython console ------------------ runfile('/home/russ/python03/toga_proj/toga_2.py', wdir='/home/russ/python03/toga_proj') --- modify sys.path if necessary add until it works --- adding to sys.path sys.path = ['/home/russ/python03', '/home/russ/toga/src', '/home/russ/toga/src/core', '/home/russ/toga/src/gtk', '/home/russ/anaconda3/lib/python3.6/site-packages', '', '/usr/lib/python36.zip', '/usr/lib/python3.6', '/usr/lib/python3.6/lib-dynload', '/home/russ/.local/lib/python3.6/site-packages', '/usr/local/lib/python3.6/dist-packages', '/usr/lib/python3/dist-packages', '/usr/lib/python3/dist-packages/IPython/extensions', '/home/russ/.ipython'] [GTK+] Not implemented: Widget.set_hidden() [GTK+] Not implemented: Widget.set_hidden() [GTK+] Not implemented: Widget.set_hidden() [GTK+] Not implemented: TextInput.set_alignment() [GTK+] Not implemented: TextInput.set_font() [GTK+] Not implemented: TextInput.set_font() [GTK+] Not implemented: TextInput.set_font() [GTK+] Not implemented: TextInput.set_font() [GTK+] Not implemented: TextInput.set_font() [GTK+] Not implemented: Widget.set_hidden() [GTK+] Not implemented: TextInput.set_alignment() [GTK+] Not implemented: TextInput.set_font() [GTK+] Not implemented: TextInput.set_font() [GTK+] Not implemented: TextInput.set_font() [GTK+] Not implemented: TextInput.set_font() [GTK+] Not implemented: TextInput.set_font() [GTK+] Not implemented: Widget.set_hidden() [GTK+] Not implemented: Widget.set_hidden() [GTK+] Not implemented: Widget.set_hidden() [GTK+] Not implemented: Widget.set_hidden() [GTK+] Not implemented: Button.set_background_color() [GTK+] Not implemented: Widget.set_hidden() ======================= in terminal following ipython fails =================== russ@ubuntu-18-base:~$ python /home/russ/python03/toga_proj/toga_2.py --- modify sys.path if necessary --- adding to sys.path sys.path = ['/home/russ/python03', '/home/russ/toga/src', '/home/russ/toga/src/core', '/home/russ/toga/src/gtk', '/home/russ/anaconda3/lib/python3.6/site-packages', '', '/usr/lib/python36.zip', '/usr/lib/python3.6', '/usr/lib/python3.6/lib-dynload', '/home/russ/.local/lib/python3.6/site-packages', '/usr/local/lib/python3.6/dist-packages', '/usr/lib/python3/dist-packages', '/usr/lib/python3/dist-packages/IPython/extensions', '/home/russ/.ipython'] Traceback (most recent call last): File "/usr/lib/python3.6/asyncio/__init__.py", line 9, in <module> from . import selectors ImportError: cannot import name 'selectors' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/russ/python03/toga_proj/toga_2.py", line 43, in <module> import toga File "/home/russ/toga/src/core/toga/__init__.py", line 1, in <module> from .app import * File "/home/russ/toga/src/core/toga/app.py", line 6, in <module> from toga.command import CommandSet File "/home/russ/toga/src/core/toga/command.py", line 1, in <module> from toga.handlers import wrapped_handler File "/home/russ/toga/src/core/toga/handlers.py", line 1, in <module> import asyncio File "/usr/lib/python3.6/asyncio/__init__.py", line 11, in <module> import selectors # Will also be exported. File "/usr/lib/python3.6/selectors.py", line 10, in <module> import math ModuleNotFoundError: No module named 'math' russ@ubuntu-18-base:~$ ------------------------ similiar failure in straight ahead python ..... --------------------- ----- no output shown ------------------------- works in ipython from terminal if path setting is changed to: --------------- # brute force print( " sys.path set from literal" ) sys.path = ['/home/russ/python03', '/home/russ/toga/src', '/home/russ/toga/src/core', '/home/russ/toga/src/gtk', '/home/russ/anaconda3/lib/python3.6/site-packages', '', '/usr/lib/python36.zip', '/usr/lib/python3.6', '/usr/lib/python3.6/lib-dynload', '/home/russ/.local/lib/python3.6/site-packages', '/usr/local/lib/python3.6/dist-packages', '/usr/lib/python3/dist-packages', '/usr/lib/python3/dist-packages/IPython/extensions', '/home/russ/.ipython'] -----------