我已经看过很多关于这个话题的帖子,但似乎没有什么协议或明确的答案。据我所知,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
(包含python
,python2
,python2.7
,python3
,python3.4
/usr//bin
(包含python2.6
,python2.7
)/System/Library/Frameworks/Python.framework/Versions
(包含2.3
,2.5
,2.6
,2.7
,Current
)此外,我在安装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,所以我不想简单地将创可贴放在后来可能出现的更深层次的问题上。
答案 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
。必须使用本地pip
为pip
本地安装软件包,并将其引用为virtualenv
并且,通过使用[virtualenv_dir_you_created]/bin/pip install nose
,写入包的权限问题全局消失。