首页 > 解决方案 > 如何在没有 pip 或任何包管理器的情况下安装 Pandas 和依赖项

问题描述

我公司的 linux 开发环境没有安装 pip 或任何包管理器。我如何在没有 pip/包管理器的情况下安装或使用 pandas 包和依赖项,如 numpy 等。

标签: python-2.7pandasnumpy

解决方案


您可以在沙箱(用于将这些库与生产内容分开的目录)上使用python 轮进行本地安装,并通过在您的.PYTHONPATH

实际上,轮子基本上是 .ZIP 文件,其中包含已为您的平台(Python 版本、操作系统和 CPU 架构)编译的具有本机依赖项(例如从 C 源代码生成的目标文件)的 python 包。

首先要做的是创建一个单独的目录来保存包:

mkdir -p /full/path/to/my/pandas_sandbox

转到 PyPI 网站并下载 Pandas 及其依赖项:

你会注意到其中一些,即 Pandas 和 Numpy,有很多选择。

在选择包时,特别是对于 Pandas 和 Numpy,您需要考虑轮子命名约定,因此请确保获得与您的 python 版本和 CPU 架构相匹配的轮子。

例如,如果您需要 Pandas 在 x86_64 上运行的 Linux 上以 Python 2.7 为目标,请选择pandas-0.23.3-cp27-cp27mu-manylinux1_x86_64.whl(注意cp27manylinux1x86_64)。

确定您的目标平台并下载 Pandas 和 Numpy 的特定版本。

一旦你有了包(.whl文件),将它们解压缩到沙箱目录中,根据我使用当前有效版本的实验,你最终会得到:

.
├── dateutil
├── numpy
├── numpy-1.15.0.data
├── numpy-1.15.0.dist-info
├── pandas
├── pandas-0.23.3.dist-info
├── pytz
├── pytz-2018.5.dist-info
├── six-1.11.0.dist-info
└── six.py

现在,将路径添加到您的沙盒目录PYTHONPATH

 export PYTHONPATH=/full/path/to/my/pandas_sandbox

这将使/full/path/to/my/pandas_sandboxpython 下的包可见,因此您可以将它们作为已安装的依赖项使用和导入。

例子:

$ export PYTHONPATH=/full/path/to/my/pandas_sandbox
$ python
Python 2.7.12 (default, Dec  4 2017, 14:50:18) 
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pandas
>>> pandas.__file__
'/full/path/to/my/pandas_sandbox/pandas/__init__.pyc'
>>> 

笔记:

1) 请记住,这不是维护 Python 环境和依赖项的推荐方法。

2) 请记住,export PYTHONPATH=/a/given/path如所示,仅对当前 shell 会话有效,因此您可以在新 shell 上保持 python 安装干净。例如,您可以通过将其添加export到您.bashrc的 .


推荐阅读