【问题标题】:Python 3.4 and 2.7 installation no Script folder and no pip installedPython 3.4 和 2.7 安装没有 Script 文件夹,也没有安装 pip
【发布时间】:2015-05-08 14:38:52
【问题描述】:

我今天在Win7 X64 上为Python 2.7.93.4.3 进行全新安装,我发现Python27Python34 文件夹中没有Script 文件夹作为第一个子级文件夹,但是Tools 中有一个。但是,我在该脚本文件夹中找不到pip,尽管默认情况下pip 应该与Python 一起安装。另一个我正在为我的其他 PC 和笔记本电脑进行相同的安装,有 Script 文件夹(作为 Python27Python34 中的第一级子文件夹)包含 pip。那么发生了什么?如何以这种方式安装pip 以及其他有用的脚本?

[编辑] 我在Python34 中尝试了python -m ensurepip。我收到以下错误:

Ignoring indexes: https://pypi.python.org/simple
Collecting setuptools
 Exception:
 Traceback (most recent call last):
File "C:\Users\daiyue\AppData\Local\Temp\tmppvmc8dv1\pip-6.0.8-py2.py3-none-
any.whl\pip\basecommand.py", line 232, in main
  status = self.run(options, args)
File "C:\Users\daiyue\AppData\Local\Temp\tmppvmc8dv1\pip-6.0.8-py2.py3-none-
any.whl\pip\commands\install.py", line 339, in run
  requirement_set.prepare_files(finder)
File "C:\Users\daiyue\AppData\Local\Temp\tmppvmc8dv1\pip-6.0.8-py2.py3-none-
any.whl\pip\req\req_set.py", line 333, in prepare_files
  upgrade=self.upgrade,
File "C:\Users\daiyue\AppData\Local\Temp\tmppvmc8dv1\pip-6.0.8-py2.py3-none-
any.whl\pip\index.py", line 326, in find_requirement
  file_locations, url_locations = self._sort_locations(locations)
File "C:\Users\daiyue\AppData\Local\Temp\tmppvmc8dv1\pip-6.0.8-py2.py3-none-
any.whl\pip\index.py", line 158, in _sort_locations
  sort_path(os.path.join(path, item))
File "C:\Users\daiyue\AppData\Local\Temp\tmppvmc8dv1\pip-6.0.8-py2.py3-none-
any.whl\pip\index.py", line 139, in sort_path
  if mimetypes.guess_type(url, strict=False)[0] == 'text/html':
File "C:\Python34\lib\mimetypes.py", line 287, in guess_type
  init()
File "C:\Python34\lib\mimetypes.py", line 348, in init
  db.read_windows_registry()
File "C:\Python34\lib\mimetypes.py", line 255, in read_windows_registry
  with _winreg.OpenKey(hkcr, subkeyname) as subkey:
TypeError: OpenKey() argument 2 must be str without null characters or None,  not str

[编辑] 问题是由于HKEY_LOCAL_MACHINE 中的多个空注册表项导致read_windows_registry() 中的mimetypes.py 搜索失败。这是导致解决方案的帖子:

Python ‘pip’ and Windows registry corruption

谢谢

【问题讨论】:

  • 为什么你认为pip应该默认安装Python?不是。
  • 您使用的是哪个操作系统?
  • 您使用捆绑的 pip 作为python -m pip install SomePackage。如果您同时安装了两个版本,请参阅docs.python.org/3/installing 了解如何为 python3 和 python2 使用各自的 pip。
  • @yole 在 pip 网站上有说明-“Python 2.7.9 及更高版本(在 python2 系列上),Python 3.4 及更高版本默认包含 pip”
  • 啊,确实。我不知道它已添加到 2.7.9。

标签: python python-2.7 python-3.x pip


【解决方案1】:

我遇到了同样的问题(win 10、py 3.8.5、可执行安装程序)。我找到的解决方案是将python安装到非标准目录(D:/而不是受访问保护的Windows用户文件夹)。在这种情况下,将在 Scripts 文件夹中创建文件“easy_install.exe”。然后在文件夹中打开控制台并调用“easy_install pip”,这将安装 pip。之后只需将所有内容复制到标准目录,不要忘记更改环境变量。

【讨论】:

    【解决方案2】:

    很简单, 下载此文件Get Pip。使用扩展名 .py 将其保存在本地

    在windows中运行:

    1.) 打开cmd

    2.) 输入“python”并检查是否安装了python

    3.) 键入“python filePath.py”(例如,如果您将文件保存在 C 驱动器中,请转到特定文件夹并运行命令 - 这里“filePath.py”是您保存的文件名)

    command looks like this

    4.) 干杯现在应该可以工作了

    5.) 检查 pip 是否正确安装,输入“pip --version”

    【讨论】:

      【解决方案3】:

      我在获得新计算机并恢复我的 appdata 文件夹后遇到了这个问题(企业系统自动为我完成了此操作)。不知何故,当我重新安装 Python 时,我的 %userprofile%\AppData\Local\Programs\Python 文件夹中的一些旧元数据使里面的 Scripts 文件夹最终为空。

      我删除了这个文件夹并卸载/重新安装了 Python,一切都恢复正常了。

      编辑:我还必须删除%userprofile%\AppData\Roaming\Python 以解决另一个类似错误。有趣的是,这个并没有在重新安装时重新创建。

      【讨论】:

        【解决方案4】:

        这个命令对我来说很好用:

        python -m ensurepip
        

        查看链接:C:\Users\kjangala\AppData\Local\Temp\tmpvd4_442i
        收集设置工具
        收集点子
        安装收集的包:setuptools、pip
        安装成功 pip-19.0.3 setuptools-40.8.0

        【讨论】:

        • 得到“没有名为 ensurepip 的模块”
        【解决方案5】:

        这是权限问题。我在

        下安装了 python 2 和 3

        C:\Program Files\python\2.7.16

        C:\Program Files\python\3.7.2

        Python 2 安装程序是 msi,所以安装时没有run as admin 选项

        Python 3 安装程序为 exe,有​​run as admin 选项。

        结果,python 2 没有安装scriptspip.exe,python 3 安装成功。

        要解决此问题,只需将full 权限授予everyone

        C:\Program Files\python\ 并再次安装 python 2。然后改回权限。

        就是这样。

        【讨论】:

          【解决方案6】:

          我也遇到了同样的问题,我设法解决了。问题是当您以默认配置安装 python 时,它会将 python 文件夹安装在“c:\user\Appdata......”中,这很长而且很难找到。为了避免它首先从控制面板->卸载程序从系统中完全卸载python 3.7。然后使用“自定义安装”选项再次安装。在下一页将默认位置更改为 C:/Python/Python37-32 并选中所需的复选框并单击安装。这应该可以解决您的问题。

          【讨论】:

            【解决方案7】:

            Windows 10。我在将 Python 2.7 安装到 C:/Program Files/Python27 时遇到了这个问题。我认为在这种情况下这是一个路径问题。修复是在 C:/Python27 中进行安装,将 Scripts 文件夹从该安装复制到 C:/Program Files/Python27 中的安装。其他一切(包括 Python 和脚本的路径)都很好。

            【讨论】:

              【解决方案8】:

              通过安装 Python 2.7.13 解决

              https://www.python.org/downloads/release/python-2713/

              【讨论】:

                【解决方案9】:

                遇到同样的问题,重新安装没有帮助。

                最后通过运行python -m ensurepip作为管理员修复它。

                【讨论】:

                  【解决方案10】:

                  其实安装python后scipts文件夹是不会创建的,需要手动创建这个文件夹,然后安装pip,然后在这个目录下就可以找到需要的文件了。

                  【讨论】:

                    【解决方案11】:

                    即使我也面临这个问题。我通过以下步骤解决了它:

                    1. 卸载 python。 (您可以使用安装程序(python-2.7.xx.msi)执行卸载。双击安装程序选择“删除 Python”选项。)

                    2. 编辑环境变量“Path”,删除python目录路径。 (要更改环境变量,请右键单击“此电脑”,单击属性,单击“高级系统属性”->环境变量)

                    3. 删除环境变量“Python Path”(如果存在)。

                    4. 现在重新安装 python。

                    它会工作的!

                    【讨论】:

                      【解决方案12】:

                      我正在使用 python 3.6.2 并且遇到了 python 文件夹中缺少脚本文件夹(也是 pip 脚本)的类似问题。我已经完成了以下操作,将脚本文件夹再次添加到 python。

                      1. 转到 - 控制面板\所有控制面板项目\程序和功能 然后寻找python程序并尝试卸载它。弹出窗口 将出现显示以下图像。

                      Image Python

                      尝试修复应该解决问题的已安装程序。

                      1. 否则单击修改并勾选 pip 复选框和将 Python 添加到环境变量复选框,然后安装它。这应该可以解决问题。

                      【讨论】:

                        【解决方案13】:

                        你猜怎么着?如果您安装了 NetBeans(或者可能是 GlassFish),那么它可能会破坏 pip 的安装!

                        详细信息:NetBeans 安装程序中的 a bug 有时可能会以其他安装程序未预料到的方式破坏 Windows 注册表。

                        @J3soon's answer 很接近,但 Swarley's blog post 没有解决我的环境中的问题,因为它不是空字符,而是另一种注册表损坏

                        这就是我摆脱这个问题的方法。运行以下 PowerShell 脚本:

                        $local_key = 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*'
                        $machine_key = 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*'
                        $machine_key6432 = 'HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*'
                        $items = Get-ChildItem @($local_key, $machine_key, $machine_key6432)
                        $ErrorActionPreference = 'Stop'
                        
                        foreach ($item in $items) {
                            Write-Output $item.PSPath
                            $null = Get-ItemProperty $item.PSPath
                        }
                        

                        它将注册表项名称写入输出。如果它打印错误,取出它打印的最后一个键并将其从注册表中删除(使用 PowerShell 或 regedit 或您喜欢的任何工具)。

                        之后,重新安装 Python,它应该会按预期安装 pip。

                        【讨论】:

                          【解决方案14】:

                          结合这里的内容和我在其他地方找到的内容,我是这样修复它的:

                          卸载已经安装的任何东西。 转到 regedit 和 HKLM/SOFTWARE/Python 并删除整个 python 部分。 重新安装 Python

                          这次是和脚本文件夹一起安装的。

                          希望这对某人有所帮助。

                          【讨论】:

                            【解决方案15】:

                            此问题为官方错误:Issue23604

                            我也遇到过同样的问题,使用方法成功修复 Swarley's Blog.

                            【讨论】:

                              【解决方案16】:

                              我今天尝试在我的计算机上安装 Python 2.7.13 时遇到了同样的问题;经过一番调查,我意识到 v.3.60(“Anaconda”)已经存在(它与我几周前安装的 Microsoft Visual Studio 2017 一起提供)。

                              我怀疑注册表中存在一些路径不匹配,因此我尝试删除 Python v. 3.60 和 2.17,并通过删除 HKCU\Software\Python 键(由于出于某种原因,仍然存在)。 在此之后,我能够正确安装 2.7.13 版,这一次 \scripts 文件夹存在,包含所有预期的内容。

                              我不知道再次安装 v. 3.6 是否会导致任何问题:我暂时不打算尝试这个,因为我目前正在为 v.2.7 进行开发。

                              无论如何,希望这能有所帮助。

                              马克斯 - 意大利


                              编辑: 我做了一些进一步的调查,并认为我已经发现了(在我的情况下)\Scripts 文件夹丢失的原因:我要安装 Python 的路径在虚拟驱动器中。

                              在我的计算机中,我只有一个分区 (C:),并且我已将文件夹 (C:\Development) 映射为 D:,然后我尝试在 D:\Python27 上安装 Python;显然这不是“好”,并导致安装程序出现问题。

                              发现后,我尝试安装到真实路径,现在一切似乎都OK了。

                              最大。

                              【讨论】:

                                【解决方案17】:

                                如果您使用 PSF (python.org) .msi Windows 安装程序,pip(和依赖项)应安装在 3.4.0+ 和 2.7.9+ 的 pythonxy/Lib/site-packages 中。还应该有包含大约 5 个 .exe 的 pythonxy/Scripts。这是安装过程的最后一部分。应短暂出现一个命令提示符窗口。也许您在安装时没有检查 [ ] install pip(尽管默认情况下应该检查)。也许您错过了一个错误。

                                在任何情况下,您都应该为 2.7 和 3.4 提供 pythonxy/Lib/ensurepip/*,并且您现在应该能够运行此模块。在命令提示符中,在 .../python27 和 .../python34 中尝试 python -m ensurepip

                                【讨论】:

                                • 嗨,我试过python -m ensurepip,但在 OP 中列出了一些错误。 C:\Pythonxy\Lib\site-packages 只包含一个 README 文件。顺便说一句,PSF 是什么?我下载了2.73.4Windows 安装程序。
                                • Python 软件基金会,负责运营 xyz.python.org 网站。我在 python-list 上看到了你的帖子。错误消息表明 arg 2 是一个字符串 with 为空,这在某处似乎是一个错误。如果这里或那里没有答案,也许值得在 bugs.python.org 上报告错误。
                                • python -m ensurepip ---user 为我解决权限问题
                                最近更新 更多