You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

安装Python包uwsgi失败:无法启动新线程

解决uWSGI安装时的RuntimeError: can't start new thread问题

核心原因

你的服务器最大用户进程数(ulimit -u)仅为90,uWSGI编译过程中需要启动新线程,当前进程数限制不足以支持该操作,导致触发报错。

解决方法

1. 临时提升进程数限制(即时生效,重启后失效)

在终端执行命令临时调高进程数上限:

ulimit -u 200

之后重新尝试安装uWSGI:

pip3 install uwsgi

2. 永久修改进程数限制

若需长期生效,修改系统配置文件:

  • 编辑/etc/security/limits.conf,添加或修改以下内容:
你的用户名 soft nproc 200
你的用户名 hard nproc 400

(将你的用户名替换为实际登录用户名)

  • 保存文件后重新登录服务器,执行ulimit -u确认限制更新,再重新安装uWSGI。

3. 用系统包管理器安装uWSGI(跳过编译)

Debian 10软件源提供预编译的uWSGI包,直接安装可绕开编译过程:

sudo apt update && sudo apt install uwsgi uwsgi-plugin-python3

安装完成后可直接使用系统级uWSGI,或确保虚拟环境能调用该版本。

4. 禁用uWSGI编译时的多线程

若必须通过pip安装,强制uWSGI编译时不启用多线程:

UWSGI_THREADS=0 pip3 install uwsgi

补充信息

服务器配置

  • Debian 10
  • Python 3.7
  • 34GB 内存
  • Intel® Xeon® Gold 6130 处理器
  • 最大用户进程数(ulimit -u):90

执行的安装命令

pip3 install uwsgi

完整报错日志

Collecting uwsgi
  Using cached uwsgi-2.0.22.tar.gz (809 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Building wheels for collected packages: uwsgi
  Building wheel for uwsgi (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for uwsgi (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [55 lines of output]
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib
      copying uwsgidecorators.py -> build/lib
      installing to build/bdist.linux-x86_64/wheel
      running install
      /tmp/pip-build-env-atb4nphi/overlay/lib/python3.7/site-packages/setuptools/_distutils/dist.py:265: UserWarning: Unknown distribution option: 'descriptions'
        warnings.warn(msg)
      using profile: buildconf/default.ini
      detected include path: ['/usr/lib/gcc/x86_64-linux-gnu/8/include', '/usr/local/include', '/usr/lib/gcc/x86_64-linux-gnu/8/include-fixed', '/usr/include/x86_64-linux-gnu', '/usr/include']
      Patching "bin_name" to properly install_scripts dir
      Traceback (most recent call last):
        File "/homepages/10/d521380034/htdocs/open-ls/TS_annotation_tool_venv/lib/python3.7/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
          main()
        File "/homepages/10/d521380034/htdocs/open-ls/TS_annotation_tool_venv/lib/python3.7/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
        File "/homepages/10/d521380034/htdocs/open-ls/TS_annotation_tool_venv/lib/python3.7/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 252, in build_wheel
          metadata_directory)
        File "/tmp/pip-build-env-atb4nphi/overlay/lib/python3.7/site-packages/setuptools/build_meta.py", line 417, in build_wheel
          wheel_directory, config_settings)
        File "/tmp/pip-build-env-atb4nphi/overlay/lib/python3.7/site-packages/setuptools/build_meta.py", line 401, in _build_with_temp_dir
          self.run_setup()
        File "/tmp/pip-build-env-atb4nphi/overlay/lib/python3.7/site-packages/setuptools/build_meta.py", line 488, in run_setup
          self).run_setup(setup_script=setup_script)
        File "/tmp/pip-build-env-atb4nphi/overlay/lib/python3.7/site-packages/setuptools/build_meta.py", line 338, in run_setup
          exec(code, locals())
        File "<string>", line 143, in <module>
        File "/tmp/pip-build-env-atb4nphi/overlay/lib/python3.7/site-packages/setuptools/__init__.py", line 107, in setup
          return distutils.core.setup(**attrs)
        File "/tmp/pip-build-env-atb4nphi/overlay/lib/python3.7/site-packages/setuptools/_distutils/core.py", line 185, in setup
          return run_commands(dist)
        File "/tmp/pip-build-env-atb4nphi/overlay/lib/python3.7/site-packages/setuptools/_distutils/core.py", line 201, in run_commands
          dist.run_commands()
        File "/tmp/pip-build-env-atb4nphi/overlay/lib/python3.7/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands
          self.run_command(cmd)
        File "/tmp/pip-build-env-atb4nphi/overlay/lib/python3.7/site-packages/setuptools/dist.py", line 1234, in run_command
          super().run_command(command)
        File "/tmp/pip-build-env-atb4nphi/overlay/lib/python3.7/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
          cmd_obj.run()
        File "/tmp/pip-build-env-atb4nphi/overlay/lib/python3.7/site-packages/wheel/bdist_wheel.py", line 381, in run
          self.run_command("install")
        File "/tmp/pip-build-env-atb4nphi/overlay/lib/python3.7/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
          self.distribution.run_command(command)
        File "/tmp/pip-build-env-atb4nphi/overlay/lib/python3.7/site-packages/setuptools/dist.py", line 1234, in run_command
          super().run_command(command)
        File "/tmp/pip-build-env-atb4nphi/overlay/lib/python3.7/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
          cmd_obj.run()
        File "<string>", line 79, in run
        File "/tmp/pip-install-ue34lw_1/uwsgi_e9a9e132f35048d08a753e0d4e62b95d/uwsgiconfig.py", line 284, in build_uwsgi
          t.start()
        File "/usr/lib/python3.7/threading.py", line 847, in start
          _start_new_thread(self._bootstrap, ())
      RuntimeError: can't start new thread
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for uwsgi
Failed to build uwsgi
ERROR: Could not build wheels for uwsgi, which is required to install pyproject.toml-based projects

内容的提问来源于stack exchange,提问作者tschomacker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 13:11:03