Pycharm updating skeletons every startup

Answered

Every time I open pycharm, it spends at least ~5 minutes to update skeletons. It should not be doing this because I am not changing my project interpreter at all, and it's just counter productive. Any advice on how to fix this? 

9
21 comments

Hi Jbl4! Could you please create a ticket in our bug tracker and attach idea.log from Help | Show Log in ...

0

#metoo

0

Has someone figured a solution for this issue? I am facing this as well.

2
Avatar
Harry Songhurst

Same here. Not every time, but maybe every other time. Makes my Macbook pro running Sierra 10.12.6 sound like its about to take off.

2
Avatar
Permanently deleted user

Same here.

0

Is there no way to disable it? Even worse in the last week, Python crashes during the skeleton update. Have tried reinstalling Pycharm (versions 2018.2, 2018.1, 2017.3) as both user profile installs and local machine installs.

0
Avatar
Permanently deleted user

this thing is driving me crazy

1

+1 the time and resource load is particularly painful with multiple remote docker interpreters. I am probably missing something on why it runs so frequently, but if it is "just in case", it be great to be able to choose a manual option to launch the reloading. 

0

Hi Dan,

Seams like the discussion has moved to https://youtrack.jetbrains.com/issue/PY-29284https://youtrack.jetbrains.com/issue/PY-29417. Could you please vote, leave a comment (attaching idea.log after reproducing the problem would help) and follow for updates. 

See https://intellij-support.jetbrains.com/hc/en-us/articles/207241135-How-to-follow-YouTrack-issues-and-receive-notifications if you are not familiar with YouTrack.

0

this issue had been reported back in 2011 according to Google search.

i had switched from python 3.5 to 3.6

the indexing must of been going on for a month or so nostop. 

i see there is power save mode now option. but why this indexing takes so long? 

0

Hi Stanislav,

The amount of time depends on the CPU, the size of the project and correctness of the configuration. Could you please report it to https://youtrack.jetbrains.com/issues/PY and attach idea.log (Help | Show Log in...) after reproducing the problem?

Would be great if you captured a CPU snapshot during that indexing following the article https://intellij-support.jetbrains.com/hc/en-us/articles/207241235-Reporting-performance-problems and attached it as well.

0

Sergey, please take my report seriously. I owe the pro version of pycharm, updated to the latest version 2018.3. The log is not going to help you. i will describe my setup below and you can easily replicate it on your lab. I am curious how long things take on your end. 

i have exremely small project i am working on - 20 python files or so. 

the cpu consumption of pycharm is atrocious.  its such  such that workstation is borderline useless  for many days (not hours!) unless i kill pycharm. 

my python install includes full anaconda, python 3.6, spacy, pytorch and tensorflow, scikit-learn. i have fast SSD and 16GB of RAM, 4 cpu laptop. 

i am seriously contemplating switching to Continuum's Analytics spyder. its not as nice as pycharm but it does not have the excessive cpu consumption problem.  

i am not sure what your are indexing for so long. if anything take a cue from Apple whose spotlight app is indexing stuff too 24x7  but it does not consume all 4 cpus and entire memory.  at least i can disable apple indexing or pause it. make your threads ultra-low priority and allocate yourself less than 1% of cpu time if you have to index or let users control priority. 

final suggestion. for the standard packages - numpy, pandas, tensorflow, pytorch, or even entire anaconda - feel free to index on your servers on AWS and just publish index files

 

2

Stanislav, this is due to pycharm indexing large binary and/or auxilliary files in the project folder. You have to manually exclude directories with these data to only index python scripts. File->Settings->Project->Project Structure, right click->Exclude to exclude some folder.

1

correct, i had found this one as well. my project code downloaded some large dataset into project folder.

is there a way to make indexing go only after python files by default? 

0

Hi Stanislav, if datasets are stored in a separate folder one can exclude it by right-click on the folder in the project tree | Mark Directory as ... | Excluded.

0

i am also see the issue ,i am disagree the action

0

Hi Moreyouthgavin,

Which action are you disagree with?

Have you tried excluding directories which do not contain your source code?

0
Avatar
Stanislav Seltser

Sergey Karpov, Pavel Karateev and Co,

again, the folders can't be excluded because pycharm just hangs on startup. please fix this indexing so only python files (.py) are indexed by default. There is no reason for pycharm to index csv files, json files, html files,pdf files and other non-python stuff.if user wants to index non-python files he should configure it explicitly. 

 have to use emacs most of the time. i am contemplating not renewing pycharm professional  license as it gets borderline useless due to this issue. 

am I not making myself clear this is a major bug in usability of the tool. its not a functional bug, its major usability issue. 

 

 

4

I'm wondering the same thing. I'm playing with the Pro version. In the log file, I see many errors like this.

 

2019-08-27 13:24:15,728 [ 236161] INFO - .skeletons.PySkeletonGenerator - Skeleton for pandas._libs.tslibs.timezones had some minor errors on C:\Users\XXXXX\Anaconda3\python.exe. stderr: --
Error generating skeleton for function close: Function has keyword-only parameters or annotations, use getfullargspec() API which can support them
Error generating skeleton for function closed: Function has keyword-only parameters or annotations, use getfullargspec() API which can support them
Error generating skeleton for function fileno: Function has keyword-only parameters or annotations, use getfullargspec() API which can support them
Error generating skeleton for function flush: Function has keyword-only parameters or annotations, use getfullargspec() API which can support them
Error generating skeleton for function isatty: Function has keyword-only parameters or annotations, use getfullargspec() API which can support them
Error generating skeleton for function read: Function has keyword-only parameters or annotations, use getfullargspec() API which can support them
Error generating skeleton for function readable: Function has keyword-only parameters or annotations, use getfullargspec() API which can support them
Error generating skeleton for function readline: Function has keyword-only parameters or annotations, use getfullargspec() API which can support them
Error generating skeleton for function readlines: Function has keyword-only parameters or annotations, use getfullargspec() API which can support them
Error generating skeleton for function seek: Function has keyword-only parameters or annotations, use getfullargspec() API which can support them
Error generating skeleton for function seekable: Function has keyword-only parameters or annotations, use getfullargspec() API which can support them
Error generating skeleton for function tell: Function has keyword-only parameters or annotations, use getfullargspec() API which can support them
Error generating skeleton for function truncate: Function has keyword-only parameters or annotations, use getfullargspec() API which can support them
Error generating skeleton for function writable: Function has keyword-only parameters or annotations, use getfullargspec() API which can support them
Error generating skeleton for function write: Function has keyword-only parameters or annotations, use getfullargspec() API which can support them
Error generating skeleton for function writelines: Function has keyword-only parameters or annotations, use getfullargspec() API which can support them
Error generating skeleton for function __enter__: Function has keyword-only parameters or annotations, use getfullargspec() API which can support them
Error generating skeleton for function __exit__: Function has keyword-only parameters or annotations, use getfullargspec() API which can support them
Error generating skeleton for function write: Function has keyword-only parameters or annotations, use getfullargspec() API which can support them
Error generating skeleton for function __enter__: Function has keyword-only parameters or annotations, use getfullargspec() API which can support them
Error generating skeleton for function __enter__: Function has keyword-only parameters or annotations, use getfullargspec() API which can support them

0

@bSharpCyclist

Please try **File > Invalidate caches / restart** and recreate the project interpreter.

0

Thank you Andrey, this fixed the issue for me.

My hdd went to 100% utilisation when i was opening the project.

 

note on my setup this only happened after i started to use git on the project.

0

Please sign in to leave a comment.