(venv) C:\Users\Administrator\PycharmProjects\pythonProject>Python multiprocssing.py -d 2 -p www.baidu.com Traceback (most recent call last): File "<string>", line 1, in <module> File "C:\Program Files\Python36\lib\multiprocessing\spawn.py", line 105, in spawn_main exitcode = _main(fd) File "C:\Program Files\Python36\lib\multiprocessing\spawn.py", line 114, in _main prepare(preparation_data) File "C:\Program Files\Python36\lib\multiprocessing\spawn.py", line 225, in prepare _fixup_main_from_path(data['init_main_from_path']) File "C:\Program Files\Python36\lib\multiprocessing\spawn.py", line 277, in _fixup_main_from_path run_name="__mp_main__") File "C:\Program Files\Python36\lib\runpy.py", line 263, in run_path pkg_name=pkg_name, script_name=fname) File "C:\Program Files\Python36\lib\runpy.py", line 96, in _run_module_code mod_name, mod_spec, pkg_name, script_name) File "C:\Program Files\Python36\lib\runpy.py", line 85, in _run_code exec(code, run_globals) File "C:\Users\Administrator\PycharmProjects\pythonProject\multiprocssing.py", line 10, in <module> readed_path = multiprocessing.Manager().list() File "C:\Program Files\Python36\lib\multiprocessing\context.py", line 56, in Manager m.start() File "C:\Program Files\Python36\lib\multiprocessing\managers.py", line 513, in start self._process.start() File "C:\Program Files\Python36\lib\multiprocessing\process.py", line 105, in start self._popen = self._Popen(self) File "C:\Program Files\Python36\lib\multiprocessing\context.py", line 322, in _Popen return Popen(process_obj) File "C:\Program Files\Python36\lib\multiprocessing\popen_spawn_win32.py", line 33, in __init__ prep_data = spawn.get_preparation_data(process_obj._name) File "C:\Program Files\Python36\lib\multiprocessing\spawn.py", line 143, in get_preparation_data _check_not_importing_main() File "C:\Program Files\Python36\lib\multiprocessing\spawn.py", line 136, in _check_not_importing_main 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.此错误的原因及解决方法
时间: 2023-09-05 10:13:05 浏览: 70
这个错误是由于在 Windows 操作系统上使用 multiprocessing 模块时,必须在主模块中使用 `if __name__ == '__main__':` 条件判断来确保子进程能够正确启动。同时,在主模块中也需要调用 `multiprocessing.freeze_support()` 方法以支持进程的冻结(即打包为可执行文件)。
你可以在你的代码中添加以下代码来解决此问题:
```python
if __name__ == '__main__':
multiprocessing.freeze_support()
# 在这里添加你的主程序代码
```
这样就可以避免这个错误并正确启动子进程了。
相关问题
C:\Users\LIU\PycharmProjects\pythonProject2\venv\实验.py
你提供的路径看起来是 Windows 系统中 PyCharm 项目的路径。要在 Windows 终端中运行 Python 文件,可以按照以下步骤:
1. 打开命令提示符或 PowerShell,进入存放 Python 文件的目录。
可以使用 `cd` 命令进入目录,例如:
```
cd C:\Users\LIU\PycharmProjects\pythonProject2\venv\
```
其中 `C:\Users\LIU\PycharmProjects\pythonProject2\venv\` 是存放 Python 文件的目录。
2. 输入以下命令运行 Python 文件:
```
python 实验.py
```
例如,如果你要运行名为 `实验.py` 的 Python 文件,可以输入以下命令:
```
python 实验.py
```
这样就可以在 Windows 终端中运行 Python 文件了。注意确保已经安装了 Python,并且将其添加到系统的环境变量中。
To update, run: C:\Users\pythonProject2\pythonProject\venv\Scripts\python.exe -m pip install --upgrade pip
如果你想更新pip,可以在命令行中输入以下命令:C:\Users\pythonProject2\pythonProject\venv\Scripts\python.exe -m pip install --upgrade pip。这将会使用Python虚拟环境中的pip来更新pip。如果你使用的是全局的Python环境,你可以直接输入“python -m pip install --upgrade pip”来更新pip。如果你遇到了更新失败的问题,你可以尝试使用其他源来更新pip,例如使用豆瓣源:python -m pip install --upgrade pip -i https://pypi.douban.com/simple。如果你需要更新ipykernel,你可以使用以下命令:pip install --upgrade ipykernel -i https://pypi.douban.com/simple。