背景
嗨,我的主要目标是为许多使用旧版本Python的项目创建一个
virtualenv
,这些项目与系统版本
(3.10.x)是分开的。
我是使用 PopOS 22.04 并进行所有更新。
由于此错误,我什至无法使用 pip。我也阅读了周围的内容,但我读到的所有解决方案要么输出日志文件,要么输出一些其他错误指示。而我除了
Segmentation fault (core dumped)
在终端中什么都没有。
在此之前我尝试用
pyenv
执行上述操作,但它有太多错误,以至于我在20多个小时后厌倦了它......这也是我的第一次从源代码安装
任何东西
,但我确实阅读了自述文件。
遵循确切的步骤
- 我从源代码下载并安装了python 3.5.2 https://www.python .org/downloads/release/python-352/
-
解压文件夹
~/Downloads/
-
cd Python-3.5.2/
-
./configure
-
make
-
sudo make altinstall
-
cd ../../Desktop/
-
whereis python3.5
# outputs /usr/local/bin/python3.5
-
virtualenv my_venv -p /usr/local/bin/python3.5
-
source my_venv/bin/activate
# activates (my_venv)
-
python
# opens python 3.5.2 shell, not the system's 3.10.x
-
quit()
-
pip -h
-
响应仅仅是:
Segmentation fault (core dumped)
...就是这样。没有任何迹象表明日志文件可以追溯到它,什么也没有。尝试安装任何东西都会给出相同的响应。我什至跑了sudo apt install python3-pip
,并得到了以下答案:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
python3-pip is already the newest version (22.0.2+dfsg-1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
我也尝试过...
我也尝试了上面的python3.7.5,但这次我在安装之前跑了
make test
它目前在终端中显示:
running: test_faulthandler (1 hour 6 min)
我注意到有些人说它可以持续几个小时,但这样做可以帮助发现一些问题,并修补它们或其他什么。我会等着看会发生什么,但是...
有人有这方面的经验/知道该怎么做吗???
谢谢!
很抱歉在使用 virtualenv 和 Python 3.5 时遇到了问题。分段错误通常表示内存访问冲突,这可能由各种因素引起。
以下是一些可以尝试的故障排除步骤:
1. 更新系统软件包:
在尝试任何其他操作之前,请确保的系统软件包是最新的。 这将更新可能与 Python 3.5 冲突的任何过时的库。
sudo apt update
sudo apt upgrade
2. 重新安装
virtualenv
:
有时,
virtualenv
安装可能会损坏。 尝试卸载并重新安装它:
pip uninstall virtualenv
pip install virtualenv
3. 使用
--system-site-packages
选项创建虚拟环境:
这将允许的虚拟环境访问系统 Python 安装中的软件包,这可能会解决一些兼容性问题。
virtualenv --system-site-packages my_venv -p /usr/local/bin/python3.5
4. 使用
venv
模块创建虚拟环境:
Python 3.3+ 包含一个名为
venv
的内置模块,用于创建虚拟环境。 尝试使用
venv
而不是
virtualenv
:
python3.5 -m venv my_venv
5. 使用其他版本的 Python:
如果仍然遇到问题,请考虑使用其他版本的 Python,例如 3.6 或 3.7。 这些版本可能与的系统和其他软件包具有更好的兼容性。
6. 调试分段错误:
如果以上方法均无效,则可以使用
gdb
等调试器来调试分段错误。 这将需要一些技术知识,但可以帮助查明问题的根源。
以下是如何使用
gdb
调试
pip
的示例:
gdb python3.5
(gdb) run -m pip -h
当
pip
崩溃时,
gdb
将捕获它。 可以使用
bt
命令打印回溯,以查看导致崩溃的函数调用链。
其他提示:
-
确保的
PATH
环境变量中包含/usr/local/bin
,以便系统可以找到的 Python 3.5 安装。 -
在运行与 Python 相关的命令时,请使用完整的 Python 可执行文件路径(例如,
/usr/local/bin/python3.5
),以避免与系统 Python 安装发生冲突。 - 搜索与的特定问题相关的错误报告或论坛帖子。 其他人可能遇到过类似的问题,并且可能已经找到了解决方案。
希望这些步骤可以帮助解决问题!
标签:python,python-3.x,python-2.7,pip,apt From: 74553858