2011-07-15 14 views
4

我已經部署在Debian萊尼在服務器上運行一個Django項目進口。每次啓動以下警告時彈出:UserWarning:模塊_mysql已經從/usr/lib/pymodules/python2.6/_mysql.so

/var/www/environment/XXX/src/django-pytest/django_pytest/test_runner.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 
    from pkg_resources import load_entry_point 

有特定的服務器上的多個Django項目,自己的virtualenv內的每個運行(通過PIP安裝Python包)。然而,他們也獲得了全系統的站點包(這是通過apt-get install安裝)。

這個特殊的項目有以下Python包:

$ /var/www/environment/XXX/bin/pip freeze --local 
Django==1.2.4 
Fabric==0.9.4 
South==0.7.3 
distribute==0.6.10 
django-pagination==1.0.7 
-e git+http://github.com/galileo-press/[email protected]#egg=django_pytest-0.1.4-py2.6-dev 
django-sorting==0.1 
django-templatetag-sugar==0.1 
paramiko==1.7.6 
py==1.4.3 
pycrypto==2.3 
pytest==2.0.0 

在Debian中的python-MySQLdb的1.2.2-10 + B1安裝和文件住在

$ apt-file list python-mysqldb 
python-mysqldb: /usr/lib/pyshared/python2.5/_mysql.so 
python-mysqldb: /usr/lib/pyshared/python2.6/_mysql.so 
python-mysqldb: /usr/share/pyshared/MySQL_python-1.2.2.egg-info/PKG-INFO 
python-mysqldb: /usr/share/pyshared/MySQL_python-1.2.2.egg-info/SOURCES.txt 
python-mysqldb: /usr/share/pyshared/MySQL_python-1.2.2.egg-info/dependency_links.txt 
python-mysqldb: /usr/share/pyshared/MySQL_python-1.2.2.egg-info/top_level.txt 
python-mysqldb: /usr/share/pyshared/MySQLdb/__init__.py 
... 

雖然這只是一個小小的煩惱,我真的很想解決這個問題。

任何人都可以幫忙嗎?

更新:下面是從蛋黃輸出:

Cheetah   - 2.4.2.1  - active development (/usr/lib/pymodules/python2.6) 
Django   - 1.2.3  - non-active development (/usr/lib/pymodules/python2.6) 
Django   - 1.2.4  - active 
Fabric   - 0.9.4  - active 
Jinja2   - 2.5.5  - active development (/usr/lib/pymodules/python2.6) 
Logbook   - 0.3   - active development (/usr/local/lib/python2.6/dist-packages/Logbook-0.3-py2.6-linux-x86_64.egg) 
MarkupSafe  - 0.9.2  - active development (/usr/lib/python2.6/dist-packages) 
MySQL-python - 1.2.2  - active development (/usr/lib/pymodules/python2.6) 
PIL    - 1.1.7  - active development (/usr/lib/python2.6/dist-packages/PIL) 
Python   - 2.6.6  - active development (/usr/lib/python2.6/lib-dynload) 
South   - 0.7.3  - active 
boto   - 1.9b   - active development (/usr/lib/pymodules/python2.6) 
distribute  - 0.6.10  - active 
distribute  - 0.6.14  - non-active development (/usr/lib/python2.6/dist-packages) 
django-pagination - 1.0.7  - active 
django-pytest - 0.1.4  - active development (/var/www/environment/XXX/src/django-pytest) 
django-sorting - 0.1   - active 
django-templatetag-sugar - 0.1   - active 
flup   - 1.0.2  - active development (/usr/lib/pymodules/python2.6) 
lxml   - 2.2.8  - active development (/usr/lib/python2.6/dist-packages) 
mercurial  - 1.6.4  - active development (/usr/lib/pymodules/python2.6) 
paramiko  - 1.7.6  - active 
pip    - 0.7.2  - active 
psycopg2  - 2.2.1  - active development (/usr/lib/python2.6/dist-packages) 
py    - 1.3.3  - non-active development (/usr/lib/pymodules/python2.6) 
py    - 1.4.1  - non-active 
py    - 1.4.3  - active 
pycrypto  - 2.3   - active 
pytest   - 2.0.0  - active 
python-amazon-product-api - 0.2.5a1  - active development (/var/www/environment/XXX/src/amazonproduct) 
python-amazon-product-api - 0.2.5a1  - active development (/var/www/environment/XXX/src/amazonproduct) 
python-amazon-product-api - 0.2.5a1  - non-active development (/usr/local/lib/python2.6/dist-packages/python_amazon_product_api-0.2.5a1-py2.6.egg) 
python-amazon-product-api - 0.2.5a1  - non-active development (/usr/local/lib/python2.6/dist-packages/python_amazon_product_api-0.2.5a1-py2.6.egg) 
python-dateutil - 1.4.1  - active development (/usr/lib/pymodules/python2.6) 
setuptools  - 0.6c11  - active development (/usr/lib/python2.6/dist-packages) 
stdeb   - 0.6.0  - active development (/usr/lib/pymodules/python2.6) 
virtualenv  - 1.4.9  - active development (/usr/lib/pymodules/python2.6) 
web.py   - 0.34   - active development (/usr/lib/pymodules/python2.6) 
wsgiref   - 0.1.2  - active development (/usr/lib/python2.6) 
yolk   - 0.4.1  - active 

更新2:sys.path s爲:

/var/www/environment/XXX/bin/python -c "import sys; print '\n'.join(sys.path)" 

/var/www/environment/XXX/lib/python2.6/site-packages/distribute-0.6.10-py2.6.egg 
/var/www/environment/XXX/lib/python2.6/site-packages/pip-0.7.2-py2.6.egg 
/var/www/environment/XXX/src/django-pytest 
/var/www/environment/XXX/src/amazonproduct 
/var/www/environment/XXX/lib/python2.6 
/var/www/environment/XXX/lib/python2.6/plat-linux2 
/var/www/environment/XXX/lib/python2.6/lib-tk 
/var/www/environment/XXX/lib/python2.6/lib-old 
/var/www/environment/XXX/lib/python2.6/lib-dynload 
/usr/lib/python2.6 
/usr/lib64/python2.6 
/usr/lib/python2.6/plat-linux2 
/usr/lib/python2.6/lib-tk 
/usr/lib64/python2.6/lib-tk 
/var/www/environment/XXX/lib/python2.6/site-packages 
/usr/local/lib/python2.6/dist-packages/Logbook-0.3-py2.6-linux-x86_64.egg 
/usr/lib/python2.6/dist-packages/PIL 
/usr/local/lib/python2.6/dist-packages/python_amazon_product_api-0.2.5a1-py2.6.egg 
/usr/lib/pymodules/python2.6 
/usr/local/lib/python2.6/site-packages 
/usr/local/lib/python2.6/dist-packages 
/usr/lib/python2.6/dist-packages 

python manage.py shell做同樣的我得到同樣的清單,的

/usr/lib64/python2.6 
異常

失蹤。

+0

可以安裝蛋黃「PIP安裝蛋黃」中的virtualenv的內部,然後做蛋黃--list併發布您的結果? –

+0

@KenCochrane:該名單太長了,無法發表評論。我已將它添加到問題中。 – basti

+0

所以蛋黃輸出顯示你只安裝了一個MySQL-python,這很好,但它不能回答原來的問題。你能編輯這個問題來添加你的sys.path嗎?也有你爲什麼用網站包創建你的virtualenv的原因嗎?如果無關緊要,請嘗試在沒有網站包的情況下創建一個新的virtualenv,並查看是否仍有相同的錯誤。這不是理想的,而是要嘗試的。 –

回答

0

我只是刪除django_pytest從INSTALLED_APPS。問題現在消失了。不好,但它有效(tm)。

1

您的問題是由安裝2個「分發」軟件包引起的,可以從提供的蛋黃輸出中看到。

+1

我將如何避免這種情況? – basti

+0

我認爲避免這種衝突的最好方法是使用--no-site-packages選項創建一個虛擬環境。 –

+0

嘗試'PIP卸載分發'。這對我有效。 –