7

我正在尝试在我的 USB 驱动器上获取点子。按照这个网站上的说明,我下载get-pip.py并运行python get-pip.pypython在环境路径中)。不幸的是,脚本通过了错误。我已将日志文件上传到此处。错误本身是:

Exception:
Traceback (most recent call last):
  File "c:\users\elyashic\appdata\local\temp\tmprkcrtx\pip.zip\pip\_vendor\pkg_resources.py", line 2251, in parsed_version
    return self._parsed_version
  File "c:\users\elyashic\appdata\local\temp\tmprkcrtx\pip.zip\pip\_vendor\pkg_resources.py", line 2344, in __getattr__
    raise AttributeError(attr)
AttributeError: _parsed_version

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "c:\users\elyashic\appdata\local\temp\tmprkcrtx\pip.zip\pip\_vendor\pkg_resources.py", line 2259, in version
    return self._version
  File "c:\users\elyashic\appdata\local\temp\tmprkcrtx\pip.zip\pip\_vendor\pkg_resources.py", line 2344, in __getattr__
    raise AttributeError(attr)
AttributeError: _version

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "c:\users\elyashic\appdata\local\temp\tmprkcrtx\pip.zip\pip\basecommand.py", line 122, in main
    status = self.run(options, args)
  File "c:\users\elyashic\appdata\local\temp\tmprkcrtx\pip.zip\pip\commands\install.py", line 283, in run
    requirement_set.install(install_options, global_options, root=options.root_path)
  File "c:\users\elyashic\appdata\local\temp\tmprkcrtx\pip.zip\pip\req.py", line 1420, in install
    if existing_distribute in distribute_requirement:
  File "c:\users\elyashic\appdata\local\temp\tmprkcrtx\pip.zip\pip\_vendor\pkg_resources.py", line 2643, in __contains__
    if self.index: item = item.parsed_version  # only get if we need it
  File "c:\users\elyashic\appdata\local\temp\tmprkcrtx\pip.zip\pip\_vendor\pkg_resources.py", line 2253, in parsed_version
    self._parsed_version = pv = parse_version(self.version)
  File "c:\users\elyashic\appdata\local\temp\tmprkcrtx\pip.zip\pip\_vendor\pkg_resources.py", line 2267, in version
    "Missing 'Version:' header and/or %s file" % self.PKG_INFO, self
ValueError: ("Missing 'Version:' header and/or PKG-INFO file", distribute [unknown version] (i:\portableapps\portable python 3.2.5.1\app\scripts))

谁能向我解释我做错了什么?

我正在使用便携式 python 3.2.5.1,它是从安装开始的,直到我尝试安装 pip。

4

4 回答 4

10

我在使用相同版本的 Portable Python 3.2.5.1 时遇到了同样的问题。由于脚本中的一些语法错误,位于 App\Scripts\easy_install.py 中的 easy_install.py 脚本对我来说也被破坏了。

经过许多死胡同,我找到了https://winpython.github.io/。它从 Portable Python 停止的地方开始。

于 2015-04-14T16:06:10.243 回答
5

好的,如果您所说的便携式 Python 是指 Python.org 提供的可嵌入 zip 文件,那么本指南解决了我的问题:https ://michlstechblog.info/blog/python-install-python-with-pip-on-windows-by -可嵌入的压缩文件/

这是离线时的文本:

要在 Windows 上安装 Python,请下载最新版本。在此示例中,Python 3.6.5。

将 zip 文件解压缩到一个目录,例如 D:\python3.6.5。

要安装 pip,请将最新版本的get-pip下载到 pythons 安装路径并开始安装。

> d:\> cd /d D:\Python3.6.5 D:\Python3.6.5> python get-pip.py ...
> Installing collected packages: pip, setuptools, wheel Successfully
> installed pip-10.0.1 setuptools-39.2.0 wheel-0.31.1

如果您在代理后面,请添加 –proxy 开关

D:\Python3.6.5> python get-pip.py --proxy="http://192.168.254.1:8888"

不幸的是,在默认配置中,您无法加载 pip 安装的任何模块,pip 本身也是如此。因为 sys.path 变量只包含 Python Zip 文件和 Python 可执行文件所在的 Python 目录的路径。

>>> import sys
>>> print(sys.path)
['D:\\Python3.6.5\\python36.zip', 'D:\\Python3.6.5']
>>> import pip
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'pip'

任何通过设置 PYTHONPATH 变量来扩展变量的尝试都将被忽略。根本原因是可嵌入的 zip 文件安装包包含一个文件 python36._pth,它覆盖了设置 sys.path 变量的所有其他可能性。sys.path 包含 python 查找模块的所有目录。

要设置 sys.path 变量,请打开 _pth 文件并在文件的和处添加以下路径。将“D:\Python3.6.5”替换为您的安装目录。

D:\Python3.6.5
D:\Python3.6.5\DLLs
D:\Python3.6.5\lib
D:\Python3.6.5\lib\plat-win
D:\Python3.6.5\lib\site-packages

或者重命名 python36._pth 文件

D:\Python3.6.5> ren python36._pth python36._pth.save

并为当前用户设置 PYTHONPATH 环境变量。

setx PYTHONPATH "D:\Python3.6.5;D:\Python3.6.5\DLLs;D:\Python3.6.5\lib;D:\Python3.6.5\lib\plat-win;D:\Python3.6.5\lib\site-packages"

或整个系统

setx /M PYTHONPATH "D:\Python3.6.5;D:\Python3.6.5\DLLs;D:\Python3.6.5\lib;D:\Python3.6.5\lib\plat-win;D:\Python3.6.5\lib\site-packages"
于 2019-03-20T22:21:51.893 回答
2

由于您使用的是 Portable Python,因此安装模块的最佳方法是使用 easy install。转到您的 Portable Python 文件夹目录: Portable Python 2.7.6.1.

接下来在该位置打开命令提示符Shift + Right Click

然后键入以下内容:

App\Scripts\easy_install.exe YourModuleNameHere

例子:

App\Scripts\easy_install.exe pyHook
于 2014-11-28T15:03:32.433 回答
0

如果有人在使用可移植 Python pip 时遇到问题,那么我的步骤就是让它发挥作用。

  1. 从https://winpython.github.io下载可移植的 Python 。

  2. 跑去WinPython Command Prompt.exe寻找easy_install.exe

  3. 输入easy_install.exe [package_you_want_install]WinPythonConsole.

包将安装在WinPythonPython 文件夹中。

对于那些想在 Node.js、electron 项目中使用 Python 的人,您只能将 WinPython Python 子文件夹复制到项目中。

于 2020-04-06T18:54:13.573 回答