【问题标题】:Installing external packages into Canopy Python using easy_install as non-admin以非管理员身份使用 easy_install 将外部包安装到 Canopy Python
【发布时间】:2013-04-11 23:18:39
【问题描述】:

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

【问题讨论】:

    标签: enthought


    【解决方案1】:

    您是否有可能在您的机器上获取另一个 Python 发行版的 easy_install

    easy_install 在 Canopy 中的默认位置是

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

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

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

    【讨论】:

    • 另外,您应该能够通过选择Start Menu > All Programs > Enthought Canopy > Canopy command prompt 来使用为您设置所需环境变量的终端。然后,您可以运行 Canopy 安装的脚本,而无需显式使用完整路径。
    • 我刚刚尝试显式键入上面建议的 Enthought Canopy easy_install 路径的完整路径,并收到了相同的对话框消息,请求管理员用户名/密码(以防万一,我尝试了常规命令提示符和 Canopy 命令提示符)。我也尝试过在 Canopy 命令提示符下使用 easy_install,然后出现相同的管理员用户名/密码对话框(事实上,这实际上是我首先尝试的)。
    【解决方案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 并尝试导入包来检查是否成功。)

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

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

    【讨论】:

    • 您运行的是什么版本的 Windows?
    • 还有什么防火墙和杀毒软件?
    • 一位同事过去也遇到过类似的问题:问题不是来自防火墙或防病毒软件。它是 Windows UAC 用来确定应用程序是否需要提权的启发式方法之一。如果名称中有“setup”或“install”字样,会提示提升。
    • 而easy_install.exe 调用easy_install-script.py。事实上,easy install 可执行文件会查找名为 -script.py 的 .py 文件,这解释了为什么需要第 3 步。话虽如此,您不需要 .exe:您可以直接运行 easy_install-script.py,如“python path/to/Scripts/easy_install-script.py install package-name”中的安装包名。
    猜你喜欢
    • 2012-07-11
    • 1970-01-01
    • 2022-01-23
    • 1970-01-01
    • 2017-05-27
    • 2020-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多