Python Forum
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
debugging
#1
Hi
Using pycharm IDE

Generally I can work out the issues with code based on output or line number., But every now and then I cant easily work out the issue. here is an example.

Error:
Traceback (most recent call last): File "<string>", line 1, in <module> File "C:\Python\lib\multiprocessing\spawn.py", line 105, in spawn_main exitcode = _main(fd) File "C:\Python\lib\multiprocessing\spawn.py", line 114, in _main prepare(preparation_data) File "C:\Python\lib\multiprocessing\spawn.py", line 225, in prepare _fixup_main_from_path(data['init_main_from_path']) File "C:\Python\lib\multiprocessing\spawn.py", line 277, in _fixup_main_from_path run_name="__mp_main__") File "C:\Python\lib\runpy.py", line 263, in run_path pkg_name=pkg_name, script_name=fname) File "C:\Python\lib\runpy.py", line 96, in _run_module_code mod_name, mod_spec, pkg_name, script_name) File "C:\Python\lib\runpy.py", line 85, in _run_code exec(code, run_globals) File "C:\Users\fakj\PycharmProjects\Redis\scratch_3.py", line 69, in <module> Traceback (most recent call last): File "<string>", line 1, in <module> p.start() File "C:\Python\lib\multiprocessing\process.py", line 112, in start self._popen = self._Popen(self) File "C:\Python\lib\multiprocessing\context.py", line 223, in _Popen return _default_context.get_context().Process._Popen(process_obj) File "C:\Python\lib\multiprocessing\context.py", line 322, in _Popen return Popen(process_obj) File "C:\Python\lib\multiprocessing\popen_spawn_win32.py", line 46, in __init__ prep_data = spawn.get_preparation_data(process_obj._name) File "C:\Python\lib\multiprocessing\spawn.py", line 143, in get_preparation_data _check_not_importing_main() File "C:\Python\lib\multiprocessing\spawn.py", line 136, in _check_not_importing_main File "C:\Python\lib\multiprocessing\spawn.py", line 105, in spawn_main exitcode = _main(fd) File "C:\Python\lib\multiprocessing\spawn.py", line 114, in _main prepare(preparation_data) File "C:\Python\lib\multiprocessing\spawn.py", line 225, in prepare _fixup_main_from_path(data['init_main_from_path']) File "C:\Python\lib\multiprocessing\spawn.py", line 277, in _fixup_main_from_path run_name="__mp_main__") File "C:\Python\lib\runpy.py", line 263, in run_path is not going to be frozen to produce an executable.''') RuntimeError: An attempt has been made to start a new process before the current process has finished its bootstrapping phase. This probably means that you are not using fork to start your child processes and you have forgotten to use the proper idiom in the main module: if __name__ == '__main__': freeze_support() ... The "freeze_support()" line can be omitted if the program is not going to be frozen to produce an executable.
It appears to be related to my MP call for reading 148 files in parallel ...... but this code has not changed (other parts have).

for i in range(149):
        fileid=('{0:03d}'.format(i))
        #print (fileid)
        p=mp.Process(target=process_files, args=("C:/Users/Desktop/REDIS/couchbased"+str(fileid),))
        jobs.append(p)
        p.start()
Any tips on how to debug/isolate actual issue quicker/easier ?

thanks
Reply


Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020