2012-02-14 160 views
0

按照learnpythonthehardway教程试图安装nosetests,我遇到了问题。任何我应该尝试下一步的线索?如果我有保存在一个随机位置在我的电脑上的东西,可以把它导入到python脚本,无论它在哪里:安装nosetests - 权限被拒绝

$ easy_install nose 
Searching for nose 
Best match: nose 1.1.2 
Processing nose-1.1.2-py2.6.egg 
nose 1.1.2 is already the active version in easy-install.pth 
Installing nosetests-2.6 script to /usr/local/bin 
error: /usr/local/bin/nosetests-2.6: Permission denied` 

一个关于安装,我的问题吗?因此,如果我执行名为“projects”的文件夹中的runthis.py,并且我有from setup tools import setup作为该程序的第一行,那么setup tools必须在python的特定位置(如“projects”文件夹)才能找到它?

回答

2

你能用sudo吗?

如果是这样,只需使用sudo easy_install nose以root身份安装即可。

如果没有,您需要安装的地方,你可以写,而不是你没有权限修改默认位置。这可以通过traditional的方式轻松完成,或者使用virtualenv来完成,最初可能有点麻烦。

至于第二个问题,python只能找到sys.path中找到的目录中的东西,默认情况下,该目录设置为PYTHONPATH环境变量的内容以及已安装的python自己的库目录。

+0

这里就是我得到的打字时,在:'$ sudo的 用法:须藤[-n] -h | -K | -k | -L | -V | -v 用法:须藤-l [1] [-AnS] [-g组名| #GID] [-U用户名] [-u用户名| #uid] [-g组名| #GID] [命令] 用法:sudo [-AbEHnPS] [-C fd] [-g groupname | #gid] [-p提示] [-u username | #uid] [-g groupname | #gid] [VAR = value] [-i | -s] [] 用法:sudo -e [-AnS] [-C fd] [ - g groupname | #gid] [-p提示] [-u username | #uid]文件...' 我不太确定'sys.path'是什么;我之前没有听说过PYTHONPATH(对不起,我对此很陌生)。尽管感谢您的帮助! – ZCJ 2012-02-14 03:50:18

+1

@ZCJ:编辑我的答案。 – geoffspear 2012-02-14 03:55:25

+0

哇,谢谢你的建议 - “nosetests”现在正在工作。 – ZCJ 2012-02-14 04:16:17

1

它往往是(高度!)建议设置包的自己的“本地”储存库中,任何一种语言,系统正在使用(无论是Python或其他)。保留“系统安装”的软件包,无论它们是什么,完全是单独的......万一某些超级重要的系统工具(软件包管理器,任何人?)也可能正在使用它们并可能依赖于它们。

这样做的方式因语种而异,但他们会被记录在的某处都一样。您甚至可能会发现您使用的“发行版”已经预见到此要求,并且已经预留了一些商定的位置,例如“/ usr/local/...”仅供您个人使用。

+0

我明白了。你能给我一个“本地”存储库的例子吗? Wooble的上述评论说,我不能让他们在任何地方;我应该在哪里保存这些文件?似乎我应该只有一个目录,如“Python包”,并养成在这里安装它们的习惯。 – ZCJ 2012-02-14 04:44:41