【问题标题】:pip install -U mock : Errorpip install -U mock:错误
【发布时间】:2016-02-20 14:11:59
【问题描述】:

我正在尝试安装模拟以在 Python 中对一个类进行单元测试。我在终端上使用以下命令安装模拟:

$ sudo pip install -U mock

我收到以下错误:

OSError: [Errno 1] Operation not permitted: '/tmp/pip-4u8kWt-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/six-1.4.1-py2.7.egg-info'

我参考这个是为了学习 Python 单元测试的模拟:https://myadventuresincoding.wordpress.com/category/python/

我已经安装了 Python 2.7.10。

我该如何解决这个错误?

【问题讨论】:

    标签: python unit-testing pip python-mock


    【解决方案1】:

    你必须在运行 El Capitan。

    来自以下link

    这是因为 OS X El Capitan 已经安装了六个 1.4.1,当它试图卸载它时(因为你的包依赖于六个 > 1.4.1)它没有这样做的权限,因为 系统完整性保护甚至不允许 root 修改那些 目录。

    不过,在大多数系统上,您可能希望使用virtualenv 来创建自定义环境并为每个项目安装依赖项。这可以防止您尝试将可能影响系统运行方式的东西安装到系统版本的 python 中。

    cd source/directory
    virtualenv env
    . ./env/bin/activate
    pip install mock
    

    这还有一个额外的好处,即每个项目都可以拥有自己的依赖项,您不必担心项目之间的版本冲突。

    【讨论】:

    • 感谢您的帮助。是的,我正在经营 El Capitan。因此,如果我创建一个virtualenv,然后使用 pip 安装模拟,我是否能够为我当前不在virtualenv 下的项目使用模拟。还是我必须迁移我的项目?
    • @KreenaMehta 您的项目代码没有迁移。您只需设置 virtualenv,将项目的所有依赖项安装到 virtualenv 中,如上所示激活 virtualenv(或将其设置为 PyCharm 中的解释器),然后您的代码将使用 virtualenv 自动运行。
    • 非常感谢。我会试一试的。
    猜你喜欢
    • 2016-01-17
    • 2021-01-12
    • 1970-01-01
    • 1970-01-01
    • 2018-08-26
    • 1970-01-01
    • 1970-01-01
    • 2012-09-08
    • 2021-08-23
    相关资源
    最近更新 更多