Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/313.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 在windows中使用pip_Python_Windows_Pip - Fatal编程技术网

Python 在windows中使用pip

Python 在windows中使用pip,python,windows,pip,Python,Windows,Pip,我安装并使用了我刚才给出的链接。我还安装了。然而,当我尝试使用pip.exe时,我得到了 error: Unable to find vcvarsall.bat 我如何解决这个问题?< /P> < P>安装微软Visual C++ 2008可重分发包不足以编译包。您需要安装编译器,而不仅仅是支持文件 有三种方法可以做到这一点: 安装Visual C++ + < /LI> < LI>使用GIW的GCC端口代替Visual C++。< /LI> 使用cygwin的gcc端口而不是其中任何一个,并在

我安装并使用了我刚才给出的链接。我还安装了。然而,当我尝试使用pip.exe时,我得到了

error: Unable to find vcvarsall.bat

<>我如何解决这个问题?< /P> < P>安装微软Visual C++ 2008可重分发包不足以编译包。您需要安装编译器,而不仅仅是支持文件

有三种方法可以做到这一点:

  • 安装Visual C++ + < /LI> < LI>使用GIW的GCC端口代替Visual C++。< /LI>
  • 使用cygwin的gcc端口而不是其中任何一个,并在Python上使用cygwin构建而不是本机构建

  • 如果您想使用选项1,则需要安装VisualC++本身。免费版本应该和付费版本一样好,只要你不打算构建二进制软件包来重新分发给其他人。不幸的是,我不知道在哪里可以找到2008版了。截至2013年5月,只有2010年和2012年

    安装此程序时,它将创建一个名为
    vcvarsall.bat
    (而不是
    vcvarshall.bat
    !)的批处理文件,并为您提供将该批处理文件放入路径的选项。运行批处理文件设置一个DOS提示符,用于构建VisualC++的那个版本。(如果你有多个Visual C++版本或其他编译器,这是很方便的)。如果你跳过这个选项,你必须手动完成。

    演示如何将较新的Visual Studio与较旧的Python一起使用,还演示如何将distutils指向不在您的路径上的
    vcvarsall.bat
    ,并提供指向大量其他相关问题和博客文章的链接


    许多人认为选项2更简单。安装、修改环境中的路径以包括
    C:\MinGW\bin
    (或您选择安装它的任何位置),并在运行
    setup.py
    脚本时传递
    -C mingw32

    问题是,如何告诉
    easy_install
    pip
    使用mingw而不是VC++的文档并不是很清楚。为此,您需要查找或创建一个
    distutils.cfg
    文件,在其中查找或创建一个
    [build]
    节,并添加
    compiler=mingw32
    。不太难。看起来它很好地解释了事情,或者你看


    方案3是迄今为止最简单的方案。安装,告诉它安装Python和gcc包,就完成了


    问题是,您没有本机Windows Python,而是有一个Unix Python在Windows之上的假Unix环境中运行。如果你喜欢Cygwin,你会喜欢的;否则,您将无法下载。您可以从下载Visual Studio 2008 Express SP1


    您可以取消选择它提供的两个“添加到浏览器”选项。

    只有具有扩展的包(或包的一个依赖项)才会收到此类错误。Pip内部:

    • 下载源代码
    • 运行
      python安装程序安装
    • install
      准备安装文件并尝试在环境中构建扩展
    • windows环境调用MS Visual Studio
      vcvarsall.bat
      脚本,该脚本设置DOS环境变量以在shell中启用MS Visual Studio的C编译器
    • 如果未找到
      vcvvarsall.bat
      ,您将收到此消息
    通常的解决方案 对于具有可在windows上移植的扩展的python库,通常有windows二进制软件包,可从pypi或库网站下载

    在这种情况下,通过下载并运行windows二进制软件包来安装库更合适(而且更轻松)

    有对
    pip
    to的功能请求

    新方法-车轮
    感谢@warren-p的评论:该功能请求已被PIP中的Wheels支持取代

    官方描述:wheel是一种ZIP格式的存档文件,具有特殊格式的文件名和.whl扩展名

    据我所知,如果有扩展名为.whl的windows二进制软件包,则首先安装wheel:

    # Make sure you have the latest pip that supports wheel
    pip install --upgrade pip
    pip install wheel  
    
    然后安装。如下图所示:

    pip install full-path-or-url-to-your-library.whl
    
    参考资料:


    我发现MySuftcom上的这些链接仍然用于安装VisualC++。

    这里是2008 SP1


    谢谢。我选择了选项2,甚至尝试了“pip.exe安装cython”。但是我得到了错误"C:\MinGW\bin\gcc.exe-mno cygwin-mdll-O-Wall-IC:\Python27\include-IC:\Python27\PC-C:\users\marshall\appdata\local\temp\pip build clifford\cython\cython\Plex\Scanners.C-O C:\users\marshall\appdata\local\temp\pip build marshall\cython\cython\Plex\Scanners.O gcc:error:无法识别的命令行选项'-mno cygwin'错误:命令'gcc'失败,退出状态为1“显然,这在python中是个问题,因为GCC4.7.0删除了这个选项。答案是编辑文件C:\PythON27 \ LIB \diStudis\CygWiCcMulcLeL.Py,然后只在你看到的地方删除-MNO CygWin选项。这里可以找到VisualC++ 2008 Express的Web安装程序:至少现在。@ MWOTTON,你救了我的一天!现在M2Crypto终于编译好了!该功能请求已被PIP中的Wheels支持取代。