2

我是没有管理员权限的 Windows 计算机的用户,并且刚刚从 Enthought 安装了 Canopy Python(我真的很兴奋我能够在没有管理员权限的情况下做到这一点)。我现在想安装一个外部包(在 Canopy Python 中作为学术用户不可用)。Enthought 支持页面上的说明建议安装外部包,我们可以打开一个命令窗口,确保 Canopy Python 在 SHELL 路径上,然后“从命令行遵循标准 Python 安装程序”,建议的方法是使用 easy_install。但是,作为非管理员,在尝试使用 easy_install 时,会弹出一个对话框,要求输入管理员用户名/密码(我作为普通用户没有)。有谁知道是否可以以非管理员身份使用 easy_install,或者是否有替代解决方案可以为 Canopy Python 的非管理员用户安装外部软件包?

4

2 回答 2

4

您是否有可能easy_install在您的机器上使用另一个 Python 发行版?

easy_install在 Canopy 中的默认位置是

C:\Users\YourName\AppData\Local\Enthought\Canopy\User\Scripts\easy_install

请尝试明确使用完整地址,看看是否可行,理论上您不需要管理员权限。

更新:问题是由于 Windows UAC 用于确定应用程序是否需要提权的启发式方法之一:如果名称中有“设置”或“安装”字样,它将提示提升。(请参阅 Mona 下面关于要重命名哪些文件的答案。)重命名 easy_install 并使用它来安装pipeasy install pip)可能更容易,然后使用它来代替。

于 2013-04-12T08:33:53.650 回答
2

作为更新,在 Windows 上的用户访问控制 (UAC) 上搜索了更多内容后(并且遇到一些提到在程序名称中安装“安装”可能会导致问题的内容,但我不确定这是否是在我的情况下出现问题的原因),我刚刚尝试了以下对我有用的“hack”(但也许其他人可以提出更优雅的解决方案,或者可以提供更多关于为什么这样做的反馈):

  1. 转到 C:\Users\YourName\AppData\Local\Enthought\Canopy\User\Scripts\
  2. 将 easy_install.exe 重命名为 easy.exe
  3. 将 easy_install-script.py 重命名为 easy-script.py
  4. 从命令行运行“C:\Users\YourName\AppData\Local\Enthought\Canopy\User\Scripts\easy.exe PackageName”。
  5. (等待安装包并通过打开 Canopy Python 并尝试导入包来检查是否成功。)

一些额外的评论:如果我没有执行上面的第 3 步(也重命名 .py 文件),我会收到一个错误。此外,在这种情况下,我需要从命令行键入 easy.exe 的完整路径。

这对我有用(我可以使用外部包),但我的猜测是应该有一个更“官方”的解决方案,不需要重命名easy_install。

于 2013-04-12T19:25:42.233 回答