python版本,setup.py,python别名,鼻子

时间:2015-09-11 19:09:31

标签: python macos nose

我已经看过很多关于这个话题的帖子,但似乎没有什么协议或明确的答案。据我所知,OSX(在我的情况下是10.10.5)安装了Python2.7,详见official python docs

按照这些说明操作后,我现在安装了python 2.7和python 3.4(分别由$ python$ python3访问),可能还有更多版本。我在几个地方找到了python版本:

  • /Applications/Python 3.4
  • /usr/local/bin(包含pythonpython2python2.7python3python3.4
  • /usr//bin(包含python2.6python2.7
  • /System/Library/Frameworks/Python.framework/Versions(包含2.32.52.62.7Current

此外,我在安装python软件包时仍遇到问题......我认为这是因为我不完全了解某些软件包的安装位置,PATH变量及其如何别名。

问题:

例如,在使用nose成功安装pip install nose后,我无法使用$ nosetests,因为找不到该命令。

建议的解决方案:

  • 检查nose目录并查找nosetests别名(但/nose中有许多其他文件,无论版本如何,都没有'关于nosetests)的任何事情。

  • 另一个建议是在python setup.py install内运行/nose,但这只会出现此错误:

    /usr/local/Cellar/python/2.7.10_1/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python: can't open file 'setup.py': [Errno 2] No such file or directory

  • 有些帖子建议只使用sudo来解决这个问题...但我已经被警告不要使用sudo而不理解为什么我需要它,并且鼻子文档没有提到需要sudo,所以我不想简单地将创可贴放在后来可能出现的更深层次的问题上。

1 个答案:

答案 0 :(得分:1)

我原来的问题基本上是两个问题:一个是关于python的冲突版本,另一个是关于专门安装nose包的问题。

对于第一个问题,我发现jonrsharpe对我的问题的初步评论非常有帮助。他链接到a tutorial that explains virtualenv以及如何设置它。但是,我仍然不确定如何仅在virtualenv内安装软件包,因为即使我在virtualenv目录和pip install中,该软件包仍然列在{ {1}}在pip freeze目录之外。

解决方案:

This tutorial was helpful in further explaining virtualenv,它是什么以及如何使用它。简而言之,virtualenv在指定的virtualenv目录中创建python的副本,其中包含其OWN virtualenv。必须使用本地pippip本地安装软件包,并将其引用为virtualenv

并且,通过使用[virtualenv_dir_you_created]/bin/pip install nose,写入包的权限问题全局消失。