Sublime Forum

Loading external plugin psutil

#1

I am developing a plugin and inserted in sys path the Locations, which appear also on the Sublime Console. if I do psutil.process_iter() i get error AttributeError: module 'psutil' has no attribute 'process_iter'. Psutil version 5.8.0 that works fine in python console. Now what am I missing.

SUBLIME CONSOLE

>>> import sys;sys.path
['C:\\Users\\Ady\\AppData\\Roaming\\Sublime Text 3\\Packages\\2-AutomateBrowser', 'E:\\Anaconda3\\envs\\SublimeText\\Lib\\site-packages', 'E:\\Anaconda3\\envs\\SublimeText\\Scripts', 'C:\\WINDOWS\\system32', 'C:\\Program Files\\Sublime Text 3\\Lib\\python3.8.zip', 'E:\\Anaconda3\\envs\\SublimeText\\Lib\\site-packages\\win32\\lib', 'E:\\Anaconda3\\envs\\SublimeText\\Lib\\site-packages\\win32\\libs', 'E:\\Anaconda3\\envs\\SublimeText\\Lib\\site-packages\\win32', 'E:\\Anaconda3\\envs\\SublimeText\\Lib\\site-packages\\numpy\\core', 'E:\\Anaconda3\\envs\\SublimeText\\Lib\\site-packages\\numpy\\core\\lib', 'E:\\Anaconda3\\envs\\SublimeText\\Lib\\site-packages\\numpy\\lib', 'E:\\Anaconda3\\envs\\SublimeText\\Lib\\site-packages\\pythonwin\\pywin', 'E:\\Anaconda3\\envs\\SublimeText\\Lib\\site-packages\\win32com\\libs', 'E:\\Anaconda3\\envs\\SublimeText\\Lib\\site-packages\\win32com', 'E:\\Anaconda3\\envs\\SublimeText\\Lib\\site-packages\\win32comext', 'E:\\Anaconda3\\envs\\SublimeText\\Lib\\site-packages\\pythonwin', 'E:\\Anaconda3\\envs\\SublimeText\\Lib\\site-packages\\psutil', 'E:\\Anaconda3\\envs\\SublimeText\\Lib\\site-packages\\pyperclip', 'C:\\Program Files\\Sublime Text 3\\Lib\\python38', 'C:\\Program Files\\Sublime Text 3\\Lib\\python3', 'C:\\Users\\Ady\\AppData\\Roaming\\Sublime Text 3\\Lib\\python38', 'C:\\Program Files\\Sublime Text 3\\Packages', 'C:\\Users\\Ady\\AppData\\Roaming\\Sublime Text 3\\Packages']
>>> import psutil
>>> psutil.process_iter()
Traceback (most recent call last):
  File "__main__", line 1, in <module>
AttributeError: module 'psutil' has no attribute 'process_iter'

PYTHON CONSOLE

(SublimeText) C:\WINDOWS\system32>python
Python 3.8.8 (default, Apr 13 2021, 15:08:03) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import psutil
>>> psutil.process_iter()
<generator object process_iter at 0x0000017EF10FBE40>
>>>
0 Likes

#2

Works fine for me, most likely you just want E:\\Anaconda3\\envs\\SublimeText\\Lib\\site-packages rather than list all sub-directories, which is incorrect.

1 Like

#3

Are you aware that ST uses its own Python runtime, with its own import paths?

0 Likes

#4

Those directories are special and contain some dll or pyd files therefore they require manual adding.

0 Likes

#5

Seams that in Safe Mode is working fine, for some reason there is a folder psutil added in the “\AppData\Roaming\Sublime Text 3\Packages\psutil” packages path that sublime text keeps re-adding.

{“version”: “5.6.7”, “sublime_text”: “>=3000”, “description”: “Python psutil module”, “platforms”: [“osx-x64”, “windows”, “linux”], “url”: “https://github.com/packagecontrol/psutil/issues”}

0 Likes

#6

Even that, that one is only available in Python 3.3. For a Python 3.8 console, which is the default, should works fine with the one from Anaconda. Unless… you are using ST 3.

0 Likes

#7

That means at least one of your python 3.3 plugin depends on that.

1 Like

#8

So need to remove all 3.3 plugin and reinstall. I am using ST 4

>>> import sys;sys.version
'3.8.8 (default, Mar 10 2021, 13:30:47) [MSC v.1915 64 bit (AMD64)]'

reloading python 3.3 plugin BracketHighlighter.bh_logging
reloading python 3.3 plugin BracketHighlighter.bh_plugin
reloading python 3.3 plugin BracketHighlighter.bh_popup
reloading python 3.3 plugin BracketHighlighter.bh_regions
reloading python 3.3 plugin BracketHighlighter.bh_remove
reloading python 3.3 plugin BracketHighlighter.bh_rules
reloading python 3.3 plugin BracketHighlighter.bh_search
reloading python 3.3 plugin BracketHighlighter.bh_swapping
reloading python 3.3 plugin BracketHighlighter.bh_wrapping
reloading python 3.3 plugin BracketHighlighter.support
reloading python 3.3 plugin Chain of Command.chain
reloading python 3.3 plugin DocBlockr.jsdocs
reloading python 3.3 plugin ExportHtml.ExportHtml
reloading python 3.3 plugin ExportHtml.HtmlAnnotations
reloading python 3.3 plugin ExportHtml.support
reloading python 3.3 plugin Function Name Display.FunctionNameStatus
reloading python 3.3 plugin Indent XML.indentxml
reloading python 3.3 plugin Indent XML.setup
reloading python 3.3 plugin Multi Select Alphabetizer.alphabetizer
reloading python 3.3 plugin Multicommand.multi_command
reloading python 3.3 plugin My Snippets.MySnippets
reloading python 3.3 plugin Origami.origami
reloading python 3.3 plugin PackageDev._logging
reloading python 3.3 plugin PackageDev.main
reloading python 3.3 plugin PackageResourceViewer.package_resource_viewer
reloading python 3.3 plugin PackageResourceViewer.package_resources
reloading python 3.3 plugin PHP Codebeautifier.phpcbf
reloading python 3.3 plugin PHP Form Builder.PHP Form Builder
reloading python 3.3 plugin PHPLOC.SublimePHPLOC
reloading python 3.3 plugin PhpSimpleRefactor.PhpSimpleRefactor
reloading python 3.3 plugin SideBarEnhancements.SideBar
reloading python 3.3 plugin SideBarEnhancements.SideBarAPI
reloading python 3.3 plugin SideBarEnhancements.SideBarDefaultDisable
reloading python 3.3 plugin Theme - Monokai Pro.Monokai Pro
reloading python 3.3 plugin TrailingSpaces.trailing_spaces
reloading python 3.3 plugin Trimmer.Trimmer
reloading python 3.3 plugin WinMerge.WinMerge
reloading python 3.3 plugin 2-PHPLinter.main
reloading python 3.3 plugin ColorPicker.sublimecp
reloading python 3.3 plugin CommandsBrowser33.browse
reloading python 3.3 plugin FileZilla SFTP Import.SublimeZilla
reloading python 3.3 plugin Layout.Layout
reloading python 3.3 plugin PlainTasks.APlainTasksCommon
reloading python 3.3 plugin PlainTasks.PlainTasks
reloading python 3.3 plugin PlainTasks.PlainTasksDates
reloading python 3.3 plugin PlainTasks.PlainTasksToHTML
reloading python 3.3 plugin PlainTasks.plist_parser
reloading python 3.3 plugin Pretty YAML.PrettyYaml
reloading python 3.3 plugin SFTP.SFTP
reloading python 3.3 plugin SQLTools.SQLTools
reloading python 3.3 plugin Terminal.Terminal

0 Likes

#9

All plugins use Python 3.3 by default, unless the package opts-in to Python 3.8 via a “.python-version” file: https://www.sublimetext.com/docs/api_environments.html#selecting-the-python-version

If you want to know which packages use a particular dependency, then the OverrideAudit package from Package Control can do this. It is available when using the “Package Report” command and then hover over the dependency name.

1 Like