我尝试四处搜索,但未能找到好的解决方法或遇到此特定错误的人。
在我尝试使用 安装屏幕后发生了这种情况apt-get install screen
。
错误:
Setting up python3.6-minimal (3.6.1-1~14.04.york0) ...
Traceback (most recent call last):
File "/usr/lib/python3.6/py_compile.py", line 6, in <module>
import importlib._bootstrap_external
File "/usr/lib/python3.6/importlib/__init__.py", line 57, in <module>
import types
File "/usr/lib/python3.6/types.py", line 171, in <module>
import functools as _functools
File "/usr/lib/python3.6/functools.py", line 23, in <module>
from weakref import WeakKeyDictionary
File "/usr/lib/python3.6/weakref.py", line 12, in <module>
from _weakref import (
ImportError: cannot import name '_remove_dead_weakref'
dpkg: error processing package python3.6-minimal (--configure):
subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of python3.6:
python3.6 depends on python3.6-minimal (= 3.6.1-1~14.04.york0); however:
Package python3.6-minimal is not configured yet.
dpkg: error processing package python3.6 (--configure):
dependency problems - leaving unconfigured
Errors were encountered while processing:
python3.6-minimal
python3.6
E: Sub-process /usr/bin/dpkg returned an error code (1)
运行 Ubuntu 14.04。
Screen 本身似乎已经安装到了最新版本,但错误消息仍然让我担心。
真的很茫然,非常感谢任何帮助。
答案1
我最近在 Ubuntu 16.10 上使用 Pycharm 2017.3.2 时遇到了这个问题。
我的设置是:
我从 Python PPA 安装了 Python 3.6。我有 Python 3.6.0b4。但是,我刚刚将 Ubuntu 升级到 17.04,但尚未重新启动。当我重新启动计算机时,它仍然抛出该错误。因此,我尝试python3.6
在终端中查看默认值。
➜ ~ python3.6
Python 3.6.1 (default, Mar 22 2017, 06:17:05)
[GCC 6.3.0 20170321] on linux
Type "help", "copyright", "credits" or "license" for more information.
因此,我意识到我的虚拟环境中的 Python 可能已经过时或指向错误的 Python 版本。
解决方案:
- 确保我安装了哪个版本的 Python 3.6(3.6.1)。
- 删除了我的虚拟环境。
使用 virtualenvwrapper 创建新的虚拟环境:
mkvirtualenv --python=python3.6
使用 pip 安装所需内容:
pip install -r requirements.txt
答案2
升级到 Ubuntu 17.10 后发生了这种情况。我通过转到其文件夹并输入以下内容修复了我的 python 2.7 virtualenv:
virtualenv -p /usr/bin/python2.7 .
答案3
将 Ubuntu 升级到 17.10 后就发生了这种情况。
我尝试运行一个安装在 Python virtualenv 中的应用程序。
我这样修复了它:
cd my-virtualenv-directory
virtualenv . --system-site-packages
需要这个选项--system-site-packages
是因为应用程序使用了 Ubuntu 的 python-gtk。我猜大多数情况下都不需要它。
现在ImportError: cannot import name _remove_dead_weakref
已经消失了 :-)
答案4
我不知道为什么,但使用
python3 -m venv venv
代替
virtualenv -p python3 venv
然后激活 venv 或手动设置路径,如下所示
export PYTHONPATH=.:\$PYTHONPATH
VIRTUAL_ENV=`pwd`/venv
export VIRTUAL_ENV
PATH="\$VIRTUAL_ENV/bin:\$PATH"
export PATH
对我有用。
我尝试快速搜索一下virtualenv
和python3 -m venv
模块之间的区别……但没有发现任何东西。