2

我正在尝试运行一个调用服务器上的yaml 模块的 python 脚本。我只有在我的主目录中有写权限。服务器安装了 Python 2.7.3。我没有root访问权限。此外,pipeasy_install都不可用。

我已经下载了包并尝试运行

python setup.py install --user

这给出了错误

error: can't combine user with with prefix/exec_prefix/home or install_(plat)base

我怎样才能让它工作?

4

2 回答 2

0

设置和使用 virtualenv 几乎总是一个不错的选择,正如您所指出的,您可以下载virtualenv.py,但是如果不安装它就不会运行(不再)pip,因为它会尝试安装轮子。在带有 Python 2.7.6 的 Linux Mint 上,脚本例如抛出:

OSError: Command /home/ruamel/venv/bin/python -c "import sys, pip; sys...d\"] + sys.argv[1:]))" setuptools wheel failed with error code 1

您可能可以通过使用较旧的virtualenv.py.

在其他一些情况下,使用 virtualenv 是不可行的:例如,当系统 python 预先安装了您需要使用的各种库并且无法复制到本地 virtualenv 中时。在这种情况下,您可以下载最新版本的ruamel.yaml(我是它的作者),它本质上是 PyYAML 功能的超集。当我分叉代码时,我从头开始创建了一个 setup.py,它允许你做

python setup.py install --user 

从 PyPI 下载的 tar.gz 文件中提取的 `setup.py 没有问题。

于 2015-06-07T05:56:23.600 回答
0

根据安东回答的想法,这些步骤对我有用

pip install --user ruamel.yaml

然后在你的脚本中替换

import yaml

和:

from ruamel.yaml import YAML
yaml=YAML(typ='safe')
于 2017-07-12T12:57:16.783 回答