【问题标题】:on MAC OS X, py.test not recognized as a command在 MAC OS X 上,py.test 不被识别为命令
【发布时间】:2015-01-22 21:18:34
【问题描述】:

在 MAC OS X 10.10 上;我安装了 pytest 2.6.4;但是在终端如果我写 py.test 甚至 py.test --version;我得到了错误:

-bash: py.test command not found

(a) 我错过了什么吗?我该怎么做才能使 pytest 工具可识别。 我搜索了很多;但除了http://teckla.idyll.org/~t/transfer/py.test.html之外找不到任何信息

我检查了 PyCharm 首选项,我没有看到 py.test 解释器列在那里。但是,pip freeze 显示 pytest 2.6.4 已安装。

(b) 是否需要在 MAC 上设置 PYTHONPATH?虽然我见过在 Windows 上不需要设置它。

感谢任何可以帮助我解决此问题的建议。


更新:我的 bash_profile 的内容:

echo export PATH="HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"

PATH="/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:$PATH"
PATH="/Users/admin/Library/Python/2.7/lib/python/site-packages:$PATH"
PATH="/System/Library/Frameworks/Python.framework/Versions/2.7/bin:$PATH"
export PATH

【问题讨论】:

  • 你是怎么安装的?安装后您是否重新散列了您的外壳完成。你知道它安装在哪里吗?如果安装在你的 PATH 中那个目录?
  • 我做了 pip install -U pytest
  • 在 Windows 中,我们将 PATH 变量附加到 "C:\Python27;C:\Python27\Scripts" 以使 python 测试运行;那么 MAC 的等价物是什么?
  • 假设你没有改变你的外壳,你需要在 ~/.profile 中添加类似 export PATH=$PATH:/path/dir/with/py.test 的东西来将它添加到你的路径中(IN *nix ; pathsep 是 :) 你是如何安装 pip 的? (自制?)位于 /usr/local/bin ?您可以尝试查找 py.test 所在的位置。 (尝试在终端 `find / -name py.test -print` 中输入它,它应该会告诉你它在哪里,但也要检查 @I'L'I 所说的以确保它设置了它的可执行位
  • @Doon 在 OS X 上应该使用 ~/.bash_profile 而不是 ~/.profile

标签: python macos pytest


【解决方案1】:

在 OS X 上你应该这样做:

pip install -U pytest 

easy_install -U pytest

http://pytest.org/latest/getting-started.html

【讨论】:

  • 我确实这样做了。但是如果我做 py.test --version;我收到错误“-bash: py.test command not found”
  • 您退出终端并重新启动了吗?您可能还需要sudo chmod +x /usr/local/bin/py.test
  • 是的,我确实退出了终端并重新启动,甚至做了 chmod +x ;但它没有帮助。请参阅我刚刚添加 bash_profile 内容的原始帖子
【解决方案2】:

pip3 install -U pytest 正在使用 Python 3.7 版本

【讨论】:

    【解决方案3】:

    终于成功了! 下载 pytest 后,我​​运行了以下命令,它就像魔术一样工作。我想,之前,我错过了将“sudo”放在安装命令前面:

    $python setup.py build
    $sudo python setup.py install
    

    输出说:

    ..
    Installing py.test script to /usr/local/bin
    Installing py.test-2.7 script to /usr/local/bin
    Installed /Library/Python/2.7/site-packages/pytest-2.6.4-py2.7.egg
    ..
    Using /Users/admin/Library/Python/2.7/lib/python/site-packages
    Finished processing dependencies for pytest==2.6.4
    

    我的 .bash_profile 内容,jfyr:

    PATH="/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/System/Library/Frameworks/Python.framework/Versions/2.7/bin"
    export PATH
    

    【讨论】:

    • 我的猜测是,当您以用户身份运行它时,它会将其安装到您的主目录中的一个目录中,而该目录不在您的路径中..
    • 你是对的。我想当我第一次使用 --user 属性安装 pytest 时。 code"python setup.py install --user"code
    【解决方案4】:

    对于我们这些试图避免使用sudo的人:

    1. Download from PyPI here 并解压。
    2. $ cd <pytest download folder>
    3. $python setup.py build
    4. $python setup.py install --user
    5. 无论安装输出显示“py.test 脚本”已安装到何处,添加到您的 .bash_profile(或 .bashrc,如果您将其用于环境变量)中的 PATH
    6. 通过$py.test --version确认设置工作

    【讨论】:

      【解决方案5】:

      我在 Mac M1 上安装 pytest 时遇到问题,但我遵循了 python pip 文档并且它工作正常。我所做的是:

      • 通过 Pycharm 终端中的命令安装 pip(我使用 pycharm):python3 -m pip install pytest

      • 安装后,我从终端运行 pytest,命令为:python3 -m pytest "name_of_the_file.py"

      这行得通。在 Mac 上,我需要在所有命令前加上“python3”,因为我猜 Mac 有自己的内置 Python,但那是 Python 2,所以为了在我的 Pycharm(即 Python 3)上运行代码,我需要在命令中使用该前缀......不确定虽然我是新手,但我猜是这样的

      【讨论】:

        猜你喜欢
        • 2018-06-13
        • 2011-10-09
        • 2014-06-30
        • 1970-01-01
        • 2011-03-31
        • 2011-12-11
        • 1970-01-01
        • 2011-10-26
        相关资源
        最近更新 更多