【问题标题】:how to run scrapy from virtual env on mac os x如何在mac os x上从虚拟环境运行scrapy
【发布时间】:2014-01-24 13:15:33
【问题描述】:

我正在尝试在 mac os x 上运行 scrapy。问题是依赖项在我的默认 pyton 安装中给我带来了困难。相反,我想从我的虚拟环境中运行 scrapy。

如果我只是在终端中输入“scrapy”,那么它使用的是默认的 python 安装,而不是我的虚拟环境中安装的。

即使我使用source venv/bin/activate 激活虚拟环境,如果我不指示scrapy 使用虚拟环境,它也会使用默认安装。

如何强制scrapy使用虚拟环境?

【问题讨论】:

  • 在 virtualenv 中安装 scrapy (pip install scrapy) 会发生什么?
  • 输入which python 并将结果输入ls -l <path>。这就是它将使用的 python 版本。
  • @zengr 安装它并给我错误 No module named lxml.html
  • 你可能必须使用像brew这样的包管理器来安装不是纯python的先决条件,比如lxml。

标签: python macos scrapy virtualenv


【解决方案1】:

在我的 Mac 上正确安装 Scapy 及其依赖项时我也遇到了很多问题,最后我找到了 Homebrew Python GitHub 页面 https://github.com/Homebrew/homebrew-python 它包含许多有用/有用的 brew 公式,包括一个用于 Scapy 的 brew 公式,就像一个对我的魅力。只需克隆 repo 并运行以下命令:

brew tap Homebrew/python
brew install scapy

我的 pcapy 也有问题,该问题已通过 pypcap 存储库中的另一个公式解决,因此过程相同。

brew install pypcap

【讨论】:

    【解决方案2】:

    您需要在您的 virtualenv 中启用全局站点包。您可以使用 --system-site-packages 重新创建 venv 或使用 toggleglobalsitepackages 如果您有 virtualenvwrapper

    然后您可以使用此内容创建自定义scrapy 跑步者:

    #!/usr/bin/env python    
    from scrapy.cmdline import execute
    execute()
    

    或者修改你的默认scrapy命令(见which scrapy),替换行

    #!/usr/bin/python
    

    #!/usr/bin/env python
    

    【讨论】:

      猜你喜欢
      • 2015-08-26
      • 2011-03-22
      • 2021-06-01
      • 1970-01-01
      • 2020-02-10
      • 2018-10-17
      • 2016-11-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多