【问题标题】:Python: lightweight package install, without pip?Python:轻量级包安装,没有 pip?
【发布时间】:2022-01-25 14:28:06
【问题描述】:

我正在打包一个最小的 Ubuntu 发行版以适应 4GB 磁盘映像,以便在 VPS 上使用。此图像是一个 (C++) webapp,它(除其他外)编写和运行简单的 Python 脚本来处理 csv 和 xls 文件之间的转换,csvkitXlsxWriter 完成了繁重的工作。不幸的是,我的全部 Python 知识仅限于编写和运行这些脚本。

问题:我在图片中安装pip来处理csvkitXlsxWriter的下载和安装。这会产生大量的麻烦,包括似乎是 C++ 开发环境,只是为了安装我想象的(可能是错误的)只是 Python 源代码。在 4GB 发行版中我真的负担不起。

除了使用pip 之外,还有其他轻量级的替代方案吗?例如,我可以从开发机器上复制少量文件吗?我想另一种选择是在使用后简单地卸载pip,但如果可能的话,我宁愿保持磁盘映像干净(如果没有别的,它会更好地压缩)。

【问题讨论】:

  • XlsxWriter 没有任何依赖项,因此可以使用“python setup.py install”从源代码安装。请参阅 XlsxWriter installation docs。然而 csvkit 有许多 dependencies 并且可能很难从源代码安装。这就是为什么最好坚持使用 pip,因为它会为您处理。无论哪种方式,我认为 pip 不应该是那么大的安装。也许尝试通过get-pip安装它。
  • @jmcnamara - 谢谢 - get-pip 是一个简单的修复,它不安装 gcc/binutils/etc/etc。如果您想将其放在答案中,我会接受。

标签: python pip xlsxwriter csvkit


【解决方案1】:

XlsxWriter 没有任何依赖项,因此可以使用python setup.py install 从源代码安装它。请参阅 XlsxWriter installation docs

但是 csvkit 有许多 dependencies 并且可能很难从源代码安装。这就是为什么最好坚持使用 pip,因为它会为您处理,我相信您知道。

也许尝试通过get-pip 安装 pip,这应该会提供尽可能小的引导安装:

$ curl -sSL https://bootstrap.pypa.io/get-pip.py -o get-pip.py
$ python get-pip.py

【讨论】:

  • 这节省了大量的磁盘空间。 df 报告说,4GB 图像的使用率从 88% 下降到 78%。
【解决方案2】:

如果您使用的是python3.4 或更新版本,您可以利用标准库中的ensurepip。它允许安装pip,如果它没有与python一起安装,在完成之后

python -m ensurepip

您应该可以使用pip,就像它与python 一起安装一样。

【讨论】:

  • 谢谢 - 刚刚回到这个问题 - 不幸的是,它不起作用。 Ubuntu-20.04 服务器安装获取 Python 3.8.10,但 python3 -m ensurepip 只返回“没有名为 ensurepip 的模块”。在手动安装 (apt install python3-pip) 后删除 pip 只会清理几个 MB 并安装 gcc,这不足为奇。
猜你喜欢
  • 2021-01-19
  • 1970-01-01
  • 2011-01-13
  • 2019-02-27
  • 2021-10-05
  • 1970-01-01
  • 1970-01-01
  • 2021-10-06
  • 1970-01-01
相关资源
最近更新 更多