我已经部署了一个scrapy项目,与一个使用MySQLdb的类相关联(用于持久化并在运行蜘蛛之前获取一些数据) 在Python 2.7(本地机器)上,我没有问题。但是,在Python 2.6(生产中)中,我在每次调用爬虫时都会收到此错误:
/usr/lib/python2.6/dist-packages/zope/__init__.py:3: UserWarning: Module _mysql was already imported from /usr/lib/pymodules/python2.6/_mysql.so, but /usr/lib/pymodules/python2.6 is being added to sys.path
import pkg_resources
我试图忽略warnings.filterwarnings('ignore')
的警告,但它没有效果。经过一些研究,我相信这个警告的原因是因为我在pythonpath的两个目录中有两个相同版本的MySQLdb。
但是,如何解决?
为了您的信息,我已经使用aptitude
安装了这些软件包(Python 2.6):
python-mysql
python-scrapy0.14
python-lxml
遗憾的是,无法在生产中更新到Python 2.7。
谢谢!
答案 0 :(得分:0)
通过easy_install重新安装scrapy和MySQL-python解决了问题。我做了什么:
apt-get remove --purge scrapy-0.14 python-mysqldb
apt-get autoremove
apt-get clean
easy_install -U scrapy
easy_install -U MySQL-python
确保您安装了python-setuptools
,python-dev
和libmysqlclient-dev
(通过apt)