ModuleNotFoundError:创建虚拟环境时没有名为“_posixsubprocess”的模块

问题描述 投票:0回答:1

我正在尝试设置一个虚拟环境:

$ python3 -m venv cv2

但是在尝试时,我遇到了这个异常:

    Traceback (most recent call last):
  File "/usr/lib/python3.6/runpy.py", line 183, in _run_module_as_main
    mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
  File "/usr/lib/python3.6/runpy.py", line 142, in _get_module_details
    return _get_module_details(pkg_main_name, error)
  File "/usr/lib/python3.6/runpy.py", line 109, in _get_module_details
    __import__(pkg_name)
  File "/usr/lib/python3.6/venv/__init__.py", line 10, in <module>
    import subprocess
  File "/usr/lib/python3.6/subprocess.py", line 136, in <module>
    import _posixsubprocess
ModuleNotFoundError: No module named '_posixsubprocess'
Error in sys.excepthook:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 63, in  apport_excepthook
    from apport.fileutils import likely_packaged, get_recent_crashes
  File "/usr/lib/python3/dist-packages/apport/__init__.py", line 5, in <module>
    from apport.report import Report
  File "/usr/lib/python3/dist-packages/apport/report.py", line 12, in <module>
    import subprocess, tempfile, os.path, re, pwd, grp, os, time
  File "/usr/lib/python3.6/subprocess.py", line 136, in <module>
    import _posixsubprocess
ModuleNotFoundError: No module named '_posixsubprocess'

Original exception was:
Traceback (most recent call last):
  File "/usr/lib/python3.6/runpy.py", line 183, in _run_module_as_main
    mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
  File "/usr/lib/python3.6/runpy.py", line 142, in _get_module_details
    return _get_module_details(pkg_main_name, error)
  File "/usr/lib/python3.6/runpy.py", line 109, in _get_module_details
    __import__(pkg_name)
  File "/usr/lib/python3.6/venv/__init__.py", line 10, in <module>
    import subprocess
  File "/usr/lib/python3.6/subprocess.py", line 136, in <module>
    import _posixsubprocess
ModuleNotFoundError: No module named '_posixsubprocess'

我尝试重新安装 subprocess32,但我还没有解决任何问题。我在 Ubuntu 18.04.1 LTS 上使用 Python 3.6.3 Anaconda。 有什么建议吗?

virtualenv python-3.6 ubuntu-18.04
1个回答
0
投票
  1. pip 卸载 subprocess32。
  2. 使用内置的subprocess模块:在Python代码中,直接导入subprocess即可。内置模块具有您需要的所有功能。
  3. pip3 install virtualenv 或 pip3 install virtualenvwrapper。
  4. python3 -m venv my-project-env。
  5. 并且应该在源 my-project-env/bin/activate 中的 virtualenv 上激活
© www.soinside.com 2019 - 2024. All rights reserved.