在没有Sudo/Root权限的情况下安装Python包,但依赖使用系统库文件夹

1 投票
1 回答
904 浏览
提问于 2025-04-17 17:16

我的问题跟如何在没有管理员权限的情况下安装Python包类似,但我想知道在安装新包的时候,是否需要把所有依赖项都安装到本地,还是可以让安装程序在有的情况下使用全局安装的包?

我在一台远程计算机(unix机器)上工作,那里我没有sudo或root权限。远程计算机上已经安装了Python和一些科学库,比如Numpy和Scipy。但是我在安装一个新的Python包时遇到了麻烦。

当我运行

python setup.py install

时就出现了问题,因为我无法访问lib文件夹。我知道我可以使用命令

python setup.py --user

在本地安装它们,但这又带来了另一个问题。它会把包安装到我主目录下的/.local文件夹中,但是当这个包有依赖项已经在根文件夹中全局安装时(像我这种情况,numpy和scipy已经全局安装),它不会注意到这些依赖项,而是直接在/.local中安装它们的新副本。

我该如何在本地安装一个新包,同时告诉setup.py去系统根目录的lib文件夹中查找依赖库和包呢?

1 个回答

4

virtualenv 是为你准备的

virtualenv --system-site-packages

这可以让你使用全局的 Python 包。

你自己的项目就不需要单独安装 numpy 或 scipy 了。

撰写回答