首页 > 编程问答 >从源代码安装 python3.5 后如何修复 virtualenv 的 python pip 分段错误(核心转储)响应

从源代码安装 python3.5 后如何修复 virtualenv 的 python pip 分段错误(核心转储)响应

时间:2024-07-25 12:35:18浏览次数:10  
标签:python python-3.x python-2.7 pip apt

背景

嗨,我的主要目标是为许多使用旧版本Python的项目创建一个 virtualenv ,这些项目与系统版本 (3.10.x)是分开的。 我是使用 PopOS 22.04 并进行所有更新。

由于此错误,我什至无法使用 pip。我也阅读了周围的内容,但我读到的所有解决方案要么输出日志文件,要么输出一些其他错误指示​​。而我除了 Segmentation fault (core dumped) 在终端中什么都没有。

在此之前我尝试用 pyenv 执行上述操作,但它有太多错误,以至于我在20多个小时后厌倦了它......这也是我的第一次从源代码安装 任何东西 ,但我确实阅读了自述文件。

遵循确切的步骤

  1. 我从源代码下载并安装了python 3.5.2 https://www.python .org/downloads/release/python-352/
  2. 解压文件夹 ~/Downloads/
  3. cd Python-3.5.2/
  4. ./configure
  5. make
  6. sudo make altinstall
  7. cd ../../Desktop/
  8. whereis python3.5 # outputs /usr/local/bin/python3.5
  9. virtualenv my_venv -p /usr/local/bin/python3.5
  10. source my_venv/bin/activate # activates (my_venv)
  11. python # opens python 3.5.2 shell, not the system's 3.10.x
  12. quit()
  13. pip -h
  14. 响应仅仅是: 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

相关文章

  • 无法使用适用于 Azure AI 搜索的 Python SDK 将数据添加到 ComplexField
    我想将带有嵌套字典的有效负载上传到AzureAI搜索索引。我在索引中使用ComplexField作为负载中的嵌套字典。索引无法识别嵌套字典,并且出现空错误。这是我的代码:ComplexField,CorsOptions,SearchIndex,ScoringProfile,SearchFieldDataType,Sim......
  • 如何使用 Python 从 Square 中的创建客户方法中检索客户 ID
    我正在square创建一个客户并得到如下结果。我需要的是获取客户的id。我的代码:fromsquare.clientimportClientclient=Client(access_token=settings.SQUARE_ACCESS_TOKEN,environment=settings.SQUARE_ENVIRONMENT,)api_customers=client.customers......
  • 为什么从.导入Python
    我使用的存储库的结构如下:在myrepo/src/中有:主要.pycore.py和somepkgsomepkg有init.py和其他python文件。somepkg不是任何文件中的类或函数。在main.py中,我看到:from.importcorefrom.importsomepkg我的问题是from和.......
  • 使用 Python 中的 Square API 检索客户 ID
    我正在为Square开发一个客户创建表单,它将创建一个客户,然后立即检索他们的ID以在程序中进一步使用。但是,我不知道如何使用API来过滤使用list_customers命令返回的数据。我找到了这篇文章:HowtoretrievecustomeridfromcreatecustomermethodinSquareusing......
  • 如何通过在字符串中使用 \u 或 \U 转义来正确表示 python3 (3.6.1+) 中的补充 unico
    最近我正在学习python,在python3中遇到了unicode转义文字的问题。似乎像Java一样,\u转义被解释为Java使用的UTF-16代码点,但问题来了:例如,如果我尝试放置3个字节的utf-8字符,例如“♬”(https://unicode-table.com/en/266C/),甚至是补充unicode字符,例如“......
  • 我的 Python 代码和 Cycle Time 小部件之间的平均周期时间不同
    我过去遇到过如何在周期时间小部件中计算平均周期时间的一些问题,因此我决定使用Python进行分析,看看是否找到任何方法来计算平均周期时间并获得相同的结果周期时间小部件中显示的值。我的问题是我无法达到周期时间小部件中显示的相同的平均周期时间值。你们能帮我解决这......
  • python3之requests库使用
    使用https://www.cnblogs.com/caroline2016/p/17007956.html建立的api测试下requests库怎么使用。模拟登录时laravelapi那边出现了 Sessionstorenotsetonrequest.错误。解决办法在app/Http/Kernel.php中api中间件组中添加两行代码:<?phpprotected$middlewareGrou......
  • 如何利用Python中的pyecharts制作—不同的柱状图
    目录专栏导读库的介绍库的安装1、柱状图(防止x轴标签名过长)2、柱状图—堆叠样式3、复合型柱状图4、柱状图—字典型总结专栏导读......
  • 六、【Python】基础教程-【Python全掌握】六大基础数据类型:浮点、布尔、列表、元组、
    ......
  • 用于获取半径内邮政编码的 Python 脚本无法正确填充 CSV
    我正在尝试编写一个Python脚本,该脚本读取包含邮政编码的CSV文件,使用API获取半径内的邮政编码,然后将结果填充到CSV中的新列中。API请求似乎工作正常,我可以在控制台输出中看到响应。但是,生成的CSV文件在radius_zips列中没有预期的值。这是我当前的脚本:......