【问题标题】:Windows 8, Python 2.7 and lxml in a virtualenv虚拟环境中的 Windows 8、Python 2.7 和 lxml
【发布时间】:2014-08-09 02:09:05
【问题描述】:

我用的是python 2.7.3,是ArcGIS自带的预打包版本。为了污染我的 ArcGIS Python,我正在尝试设置一个虚拟环境以用于非 ArcGIS 开发。这很好用,这里有一个很好的教程:

http://www.tylerbutler.com/2012/05/how-to-install-python-pip-and-virtualenv-on-windows-with-powershell/

关于使用 powershell 设置 virtualenv。

我想在虚拟环境中安装的特定库是 lxml,尝试使用 pip 在我的虚拟环境中安装它会引发错误:

找不到 vcvarsall.bat

我意识到这是一个非常常见的错误,但使用 Python 的 ArcGIS 打包版本增加了复杂性。到目前为止,可用的修复程序都适用于 Windows 7 或 Windows 8,但适用于 Python 3.3。

到目前为止,我已经安装了 MS Visual C++ 2008,但 windows 在多次搜索中都找不到 vcvarsall.bat。我也尝试过下载 libxml2,但不确定将其放置在哪里以避免与 ArcGIS 发生冲突,而我正在尝试使用 ArcGIS 分布式版本的 Python 做些什么?

【问题讨论】:

    标签: python-2.7 powershell virtualenv lxml arcgis


    【解决方案1】:

    好的,我解决了。关于 ArcGIS 会发生什么还有待观察,但到目前为止它正在应对。

    首先我删除了 windows Environments 中的引用> C:\Python27\ArcGIS10.x 的路径

    然后我下载了最新版本的 Python 2.7.x 并将其安装到 C:\Python276

    我将环境>路径更改为 C:\Python276 和 C:\Python276\Scripts

    接下来我使用this 优秀指南设置了一个用于开发的虚拟环境。

    lxml 仍然无法正常工作,但我发现 this 这是我发现的唯一可行的 lxml 解决方案。

    为了解决 ArcGIS 和路径等问题,我将路径返回到 C:\Python27\ArcGIS10.x 并删除了对 C:\Python276 的引用

    由于我不想安装/更新/弄乱 ArcGIS 的 Python 安装,因此我更改了 Powershell 配置文件(请参阅 first tutorial 的末尾)。将 powershell 的路径更改为“C:\Python276;C:\Python276\Scripts;”我在配置文件中添加了以下内容:

    $ENV:PATH = $ENV:PATH -replace "C:\\Python27\\ArcGIS10.2;$" , "C:\\Python276;C:\\Python276\\Scripts"
    

    这会在 Powershell 会话中临时更改 Python 路径,但当它结束时,ArcGIS 可以照常运行。

    【讨论】:

      最近更新 更多