Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在Cygwin上安装Pip-3.2_Python_Python 3.x_Cygwin_Pip - Fatal编程技术网

Python 在Cygwin上安装Pip-3.2

Python 在Cygwin上安装Pip-3.2,python,python-3.x,cygwin,pip,Python,Python 3.x,Cygwin,Pip,我在Cygwin上安装了Python 3。但是,我无法通过pip安装Python 3软件包。有没有办法做到这一点?如果您有多个python安装,那么您需要为每个安装分别安装pip(可能还有setuptools)。 为此,您可以先下载python3并使用它运行: /usr/bin/python3 ez_setup.py 这将安装setuptools,并为您的python版本创建一个easy\u install脚本,例如/usr/bin/easy\u install-3.2,您可以使用该脚本安装p

我在Cygwin上安装了Python 3。但是,我无法通过
pip
安装Python 3软件包。有没有办法做到这一点?

如果您有多个python安装,那么您需要为每个安装分别安装pip(可能还有setuptools)。
为此,您可以先下载python3并使用它运行:

/usr/bin/python3 ez_setup.py
这将安装setuptools,并为您的python版本创建一个
easy\u install
脚本,例如
/usr/bin/easy\u install-3.2
,您可以使用该脚本安装pip:

/usr/bin/easy_install-3.2 pip
这将把pip安装到python3站点软件包目录中,并再次创建脚本
/usr/bin/pip-3.2
,您可以使用该脚本安装此python版本的软件包

或者,您可以按照和中的安装说明进行操作。

我认为由mata链接是最简单的:

要安装pip,请安全下载

然后运行以下操作(可能需要管理员访问):

1) 安装cygwin时,请确保安装 列表中的python/python设置工具。这将安装“easy_install”软件包

2) 键入以下命令:

easy_install-a.b pip   

您必须用python版本替换
a.b
,该版本可以是2.7或3.4或其他版本。

由于OP专门讨论Python3,我认为我们需要指定,以防用户已经安装了Python2,这很可能

# If you don't have Python3 already, use apt-cyg:
apt-cyg install python3

# First update pip, pip2 
pip2 install --upgrade pip 

# Install pip3:
python3 -m ensurepip

# Finally update pip3:
pip3 install --upgrade pip

$ pip3 -V
pip 9.0.1 from /usr/lib/python3.4/site-packages (python 3.4)
顺便说一句,有好几种叉子,但最好的是,你会喜欢的


编辑:2018-11-15

因为我一开始没有使用Cygwin Python3,所以我最近不得不刷新我的Cygwin Python3安装,并在安装过程中意识到一些本应显而易见但很容易被忘记的事情

  • 在Cygwin(可能在大多数其他*nix发行版上)上安装和使用Python3时,仅将基本Python3解释器作为Cygwin包安装。从那时起,只能使用pip安装程序

  • 在您使用pip安装或更新任何python3软件包之后,Cygwin软件包管理器将抱怨您的软件包不完整。这是因为pip已经替换/更新了该包中的文件。检查:
    cygcheck.exe-c|grep complete

    不要使用Cygwin重新安装这些软件包。

#cygcheck.exe-c | grep不完整
python3设置工具34.3.2-1不完整
所以我所做的就是清除所有与python3相关的Cygwin包,除了python3本身。然后我重新安装了唯一需要的工具:
python3setuptools

#apt cyg移除python3设置工具
apt cyg安装python3安装工具
#修复pip3符号链接(如果没有python2,则只修复pip)
ln-s/usr/bin/pip3.6/usr/bin/pip3
#还将安装Cygwin软件包:
#python3应用程序,python3打包,python3解析,python3六
#现在,使用pip更新setuptools:
pip3安装-U--强制重新安装--仅二进制=:all:--无清除--无缓存目录设置工具
#pip列表| grep设置工具
设置工具40.5.0
还应该重新安装所有具有最新更新的setuptools依赖项


从现在开始,帮自己一个忙,开始使用虚拟环境

我刚刚从中学到了这一点,并从之前的答案中得到了启发,即在windows上的cygwin中,不必使用pip,而只需将pip2用于python2或pip3用于Python3即可。整天都在想这个问题……

在windows上,您可以使用pip安装软件包。如果在cygwin下有多个python安装,请给出完整的python路径,例如。 Python 2

/usr/bin/python2.7 -m pip install pyyaml
Python 3

/usr/bin/python3.6 -m pip install pyyaml
如果您没有安装pip,请使用下面的命令安装它

/usr/bin/python2.7 -m ensurepip 


为什么不呢?您是否已为此python安装安装了pip?出现了什么错误?安装了Pip,但它安装了包的Python2版本。例如,我的需要pyyaml的脚本返回
ImportError:没有名为yaml
的模块,即使在成功运行
pip install pyyaml
之后也是如此。那么
pip
脚本就不能以正确的python版本运行。请尝试
/path/to/python3-m pip安装…
。另外,请检查pip脚本的shebang。@mata仅供参考,还安装了Python 2
usr/bin/python3-m pip安装pyyaml
返回
/usr/bin/python3:没有名为pip的模块
。这就是我最初的问题;如何在cygwin上安装pip-3?
python3-m ensurepip
python2-m ensurepip
。期待精彩!根据此答案,我能够解决cygwin问题。在cygwin中安装时,我收到“OSError:[Errno 13]权限被拒绝”此错误。我在那台机器上有管理员权限。链接到ez_setup.py是死的。这个答案对我来说很有用。由于我在一所大学工作,我不得不采取一些额外的步骤:首先,我导航到我的安装路径(c:/cygwin64/bin/)。然后让auto complete帮助我找到名为稍有不同的简易安装文件:easy_install 2.7.9I这样做是为了在没有鸡蛋的状态下结束:
easy_install-2.7 pip&&pip install'pip对于python3,使用python3和python3安装工具包。很明显,但是你可以忘记python3设置工具,也不要忘记版本(ie-2.7)。我的计算机上有另一个python发行版,“easy_install”调用了该发行版,而不是cygwin的.fwiw,这在cygwin下似乎没有任何作用——不知道为什么:(在Babun下工作,在Windows 10 x64上,由于cygwin的原因,
EnsureIP
是必要的吗?通常,
pip
在板上,请参见@Timo,对我来说是这样,无论出于什么原因,我都没有Python3的pip3。只要你安装了
pip
,你就可以始终在
/usr/bin/
中进行符号链接,但使用nati可能更优雅。)如果我已经有一个旧版本,或者它是与
setuptools
一起安装的,我会确保使用repip fix.IDK,但我没有
/usr/bin/python2.7 -m ensurepip 
/usr/bin/python3.6 -m ensurepip