On Mon, 13 Jul 2020 at 18:11, Erik Ritch <[email protected]> wrote: > > It would appear that the problem was global plugins. I did not realize that > I had any (I'm not sure how I ended up with any and certainly didn't mean to > have any) but as soon as I deleted everything from ~/.nikola/plugins, the > error went away and Nikola is now working normally. So, the problem appears > to be related to having a global plugin and, most likely, installing that > same plugin locally. > > On Monday, July 13, 2020 at 7:05:19 AM UTC-6, Chris Warrick wrote: >> >> On Mon, 13 Jul 2020 at 00:44, Erik Ritch <[email protected]> wrote: >> > >> > I recently upgraded from version 8.0.4 to 8.1.1 and was creating a new >> > environment on a new computer. When attempting to install the plugins >> > that I use, I keep running into the following error from Nikola. >> > >> > Traceback (most recent call last): >> > File "c:\program files (x86)\python38-32\lib\runpy.py", line 194, in >> > _run_module_as_main >> > return _run_code(code, main_globals, None, >> > File "c:\program files (x86)\python38-32\lib\runpy.py", line 87, in >> > _run_code >> > exec(code, run_globals) >> > File "C:\Users\ejunk\nikola-env\Scripts\nikola.exe\__main__.py", line 7, >> > in <module> >> > File "c:\users\ejunk\nikola-env\lib\site-packages\nikola\__main__.py", >> > line 167, in main >> > _ = DN.run(oargs) >> > File "c:\users\ejunk\nikola-env\lib\site-packages\nikola\__main__.py", >> > line 341, in run >> > self.nikola.init_plugins(load_all=True) >> > File "c:\users\ejunk\nikola-env\lib\site-packages\nikola\nikola.py", >> > line 1073, in init_plugins >> > self.plugin_manager._candidates = >> > self._filter_duplicate_plugins(self.plugin_manager._candidates) >> > File "c:\users\ejunk\nikola-env\lib\site-packages\nikola\nikola.py", >> > line 996, in _filter_duplicate_plugins >> > plugins.sort(key=plugin_position_in_places) >> > TypeError: '<' not supported between instances of 'int' and 'NoneType' >> > >> > The error does not seem to be limited to a single plugin. Sometimes I can >> > install one or two plugins before I get the error and sometimes it happens >> > with the first plugin I install. Once the error happens, the only way to >> > get Nikola to do anything is to delete all the plugins. This is being >> > done in a fresh virtualenv and a fresh nikola site (nikola init mysite). >> > I am attempting to install the plugins sass, sidebar, file_tree_subs, >> > tags, static_tag_cloud, and localsearch. >> > >> > OS is Windows 10 home, version 1909 >> > Python 3.8.3 x32 >> > Nikola 8.1.1 >> > >> > Any help you can give would be greatly appreciated! >> > >> > Erik >> > >> > -- >> > You received this message because you are subscribed to the Google Groups >> > "nikola-discuss" group. >> > To unsubscribe from this group and stop receiving emails from it, send an >> > email to [email protected]. >> > To view this discussion on the web visit >> > https://groups.google.com/d/msgid/nikola-discuss/24a7c8b3-e0bd-45d6-9f3b-05be077e2973o%40googlegroups.com. >> >> Cannot reproduce with a similar configuration (64-bit Python on >> Windows). file_tree_subs is not a Nikola plugin. Do you have any >> global plugins (~/.nikola/plugins)? Could you modify the >> _filter_duplicate_plugins functions on line 985 in nikola.py like this >> and show the resulting errors? >> >> def plugin_position_in_places(plugin): >> # plugin here is a tuple: >> # (path to the .plugin file, path to plugin module w/o >> .py, plugin metadata) >> for i, place in enumerate(self._plugin_places): >> if plugin[0].startswith(place): >> utils.LOGGER.warn("{}: {}, {}".format(i, place, plugin)) >> return i >> utils.LOGGER.warn("None: {}, {}".format(place, plugin)) >> >> >> -- >> Chris Warrick <https://chriswarrick.com/> >> PGP: 5EAAEA16
I couldn’t reproduce in the global-and-local-plugins scenario either. Could you help debug the issue by restoring global plugins, patching nikola.py and showing the log output? -- Chris Warrick <https://chriswarrick.com/> PGP: 5EAAEA16 -- You received this message because you are subscribed to the Google Groups "nikola-discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/nikola-discuss/CAMw%2Bj7LrQ543a-8uhVwhB038THw%2BARziKsVNcbKvYjQTfnZFsg%40mail.gmail.com.
