如何更新 Python 包?
- 2024-10-23 08:47:00
- admin 原创
- 83
问题描述:
我正在运行 Ubuntu 9:10,并且安装了一个名为 M2Crypto 的软件包(版本为 0.19.1)。我需要下载、构建和安装最新版本的 M2Crypto 软件包(0.20.2)。
0.19.1 软件包在多个位置都有文件,包括(/usr/share/pyshared 和 /usr/lib/pymodules.python2.6)。
如何在安装 0.20.2 之前从系统中彻底卸载 0.19.1 版本?
解决方案 1:
我发现最好的方法是从终端运行此命令
sudo pip install [package_name] --upgrade
sudo
将要求输入您的 root 密码来确认操作。
注意:有些用户可能安装了 pip3。在这种情况下,使用
sudo pip3 install [package_name] --upgrade
解决方案 2:
您可能需要研究像pip这样的 Python 包管理器。如果您不想使用 Python 包管理器,您应该能够下载 M2Crypto 并在旧安装上进行构建/编译/安装。
解决方案 3:
要自动升级所有过时的软件包(使用 pip 安装的),只需运行下面的脚本,
pip install $(pip list --outdated | awk '{ print $1 }') --upgrade
这里,pip list --outdated
将列出所有过期的包,然后我们将其通过管道传输到 awk,这样它只会打印名称。然后,它将$(...)
使其成为变量,然后一切都会自动完成。确保您拥有权限。(如果您感到困惑,只需将其放在sudo
pip 前面)我会编写一个名为的脚本,pip-upgrade
代码如下,
#!/bin/bash
sudo pip install $(pip list --outdated | awk '{ print $1 }') --upgrade
然后使用以下脚本行来准备它:
sudo chmod +x pip-upgrade
sudo cp pip-upgrade /usr/bin/
然后,只需点击pip-upgrade
,就好了!
解决方案 4:
通过 Windows 命令提示符运行:
pip list --outdated
您将获得过时软件包的列表。运行:
pip install [package] --upgrade
它将升级[package]
并卸载以前的版本。
要更新 pip:
pip install --upgrade pip
再次,这将卸载以前版本的 pip 并安装最新版本的 pip。
解决方案 5:
方法一:逐个手动升级
pip install package_name -U
方法 2:一次性升级(如果某些包升级失败,则很有可能回滚)
pip install $(pip list --outdated --format=columns |tail -n +3|cut -d" " -f1) --upgrade
方法 3:使用循环逐个升级
for i in $(pip list --outdated --format=columns |tail -n +3|cut -d" " -f1); do pip install $i --upgrade; done
解决方案 6:
我认为最好的一句话是:
pip install --upgrade <package>==<version>
解决方案 7:
打开命令提示符或终端并使用以下语法
pip install --upgrade [package]==[specific version or latest version]
例如
pip install --upgrade numpy==1.19.1
解决方案 8:
这个软件包最初是如何安装的?如果是通过 apt 安装的,你只需要执行apt-get remove python-m2crypto
如果您通过 easy_install 安装它,我很确定唯一的方法就是删除 lib、shared 等下的文件。
我以后的建议是什么?使用类似pip 的工具来安装你的软件包。此外,你可以查找名为virtualenv的东西,这样你的软件包就可以按环境存储,而不是只按 root 存储。
使用 pip 非常简单:
pip install m2crypto
但你也可以使用正确的地址从 git、svn 等存储库安装。pip文档中对此进行了解释
解决方案 9:
pip install -U $(pip list --outdated | awk 'NR>2 {print $1}')
解决方案 10:
在 Juptyer 笔记本中,一个非常简单的方法是
!pip install <package_name> --upgrade
因此,您只需要用实际的包名称替换即可。
解决方案 11:
如何在安装 0.20.2 之前从系统中彻底卸载 0.19.1 版本?
要卸载 M2Crypto,请使用
pip uninstall M2Crypto
我需要下载、构建和安装最新版本的 M2Crypto 包 (0.20.2)。
为了安装最新版本,可以使用PyPi
pip install M2Crypto
要安装版本 20.2(已过时),请运行
pip install M2Crypto==0.20.2
假设一个人只是想升级
pip install M2Crypto --upgrade # Or pip install M2Crypto -U
笔记:
根据 Python 版本(此处介绍如何查找版本),可以使用不同的 pip 命令。假设您正在使用 Python 3.7,那么除了使用 之外
pip
,您还可以使用pip3.7
。使用
sudo
被认为是不安全的。如今,有更好的做法来管理开发系统,例如:虚拟环境或开发容器。开发容器允许将整个开发环境(无论是模块、VS Code 扩展、npm 库……)放入 Docker 容器中。当项目结束时,可以关闭容器。没有必要毫无理由地将所有这些要求保留在计算机中。如果您想了解更多信息:Visual Studio Docs、Github。
解决方案 12:
获取所有过时的软件包,并使用以下命令为每个过时的软件包创建批处理文件 pip install xxx --upgrade
解决方案 13:
IE:
python -m pip install --proxy <proxyserver_name>:<port#> <pkg_name>
请记住在设置变量后导出它们,以使它们可供外壳会话使用。
视窗:
添加到环境变量:
set HTTP_PROXY=<proxyserver_name>:<port#>
你可能必须先安装完整的 Python 包
解决方案 14:
这是一次性更新所有过时软件包的脚本。
import subprocess
import sys
def update_packages():
outdated_packages = subprocess.run(
[sys.executable, "-m", "pip", "list", "--outdated"],
capture_output=True, text=True
)
packages = [line.split("==")[0] for line in outdated_packages.stdout.splitlines()]
for pkg in packages[2:]:
one_pkg = list()
for pkg_info in pkg.split(" "):
if pkg_info != "":
one_pkg.append(pkg_info)
subprocess.run([sys.executable, "-m", "pip", "install", "--upgrade", one_pkg[0]])
print("Updating", one_pkg[0])
if __name__ == "__main__":
update_packages()
- 2024年20款好用的项目管理软件推荐,项目管理提效的20个工具和技巧
- 2024年开源项目管理软件有哪些?推荐5款好用的项目管理工具
- 项目管理软件有哪些?推荐7款超好用的项目管理工具
- 项目管理软件哪个最好用?盘点推荐5款好用的项目管理工具
- 项目管理软件有哪些最好用?推荐6款好用的项目管理工具
- 项目管理软件有哪些,盘点推荐国内外超好用的7款项目管理工具
- 2024项目管理软件排行榜(10类常用的项目管理工具全推荐)
- 项目管理软件排行榜:2024年项目经理必备5款开源项目管理软件汇总
- 2024年常用的项目管理软件有哪些?推荐这10款国内外好用的项目管理工具
- 项目管理必备:盘点2024年13款好用的项目管理软件