Python包含来自子目录

时间:2016-01-02 05:44:42

标签: python import scrapy

我想知道是否有一种方法可以将Scrapy放入子目录并导入它。我用BeautifulSoup做了这个,而不是安装它,我只是将bs4目录放到我的应用程序的目录中,然后导入它:

from bs4 import BeautifulSoup

在我从scrapy.org下载的源代码中没有scrapy.py所以我尝试导入

from scrapy import *

这返回了一堆错误。

Traceback (most recent call last):
File "C:\Users\Kat\Desktop\linkscrape\cookie.py", line 1, in <module> from scrapy import *
File "C:\Users\Kat\Desktop\linkscrape\scrapy\__init__.py", line 27, in <module>
from . import _monkeypatches
File "C:\Users\Kat\Desktop\linkscrape\scrapy\_monkeypatches.py", line 2, in <module>
from six.moves import copyreg
ImportError: No module named six.moves

有什么方法可以简单地将其包含在内,以便将应用程序从计算机迁移到计算机,或者是否必须安装?感谢。

1 个答案:

答案 0 :(得分:4)

不要那样做。你会伤到自己。

为了实现轻松的可移植性,请使用virtualenv - 这是Python开发的黄金标准。

在项目的根目录中创建一个名为requirements.txt的文件,并编写所有必需的依赖项,如下所示:

python-dateutil==2.4.2
Scrapy==1.0.4
XlsxWriter==0.7.7

在设置环境时,请创建一个新的virtualenv,然后简单地:

pip install -r requirements.txt

瞧!你有一个工作环境。

对于Scrapy,它更为重要,因为在生产中,Scrapy通常使用scrapyd进行部署,其中具有版本号和固定要求的正确package是绝对必要的。