2017-04-15 48 views
0

在虛擬env之外,它工作正常。但是在虛擬環境中,MySQL Python連接器不會被導入。我正在研究樹莓派。以下顯示了我提到的內容。我應該怎麼做才能解決它?在虛擬env上沒有名爲'mysql'的模塊

============================================== =============================

虛擬EVN外側(正常工作。)

[email protected]:~/webapp3 $ python3 vsearch_web.py 
* Running on http://127.0.0.1:5000/ 

    127.0.0.1 - - [15/Apr/2017 15:29:57] "GET/HTTP/1.1" 200 - 

    127.0.0.1 - - [15/Apr/2017 15:30:17] "POST /search HTTP/1.1" 200 - 

    127.0.0.1 - - [15/Apr/2017 15:30:30] "GET /viewlog HTTP/1.1" 200 - 

= ================================================== ======================

虛擬ENV內部(產生錯誤。)

[email protected]:~/webapp3 $ source venv/bin/activate 

(venv)[email protected]:~/webapp3 $ python3 vsearch_web.py 

Traceback (most recent call last): 

File "vsearch_web.py", 

line 3, 
    in <module> from DBcm import UseDatabase File 
    "/home/pi/webapp3/DBcm.py", 

line 1, in <module> import 
    mysql.connector 

ImportError: No module named 'mysql' 
+0

從虛擬環境中訪問系統站點包可能被虛擬環境配置禁用。例如。如果在虛擬env目錄中有'pyvenv.cfg'文件,請編輯它以包含'include-system-site-packages = true'。如果您沒有此文件,請查看您的一組虛擬env實用程序的文檔。 – VPfB

回答

0

該模塊尚未安裝在虛擬環境中。激活環境並運行:

pip3 install mysqlclient 
+0

我嘗試過,但最終出現以下錯誤。 ---------------------------------------- 命令「python setup.py egg_info」失敗,錯誤代碼1在/ tmp/pip-build-756h92ed/MySQL-python/ –

+0

對不起,MySQL-python只適用於python2。改用mysqlclient。它是python3的一個分支。查看更新的答案。 – nico