启动时无法访问虚拟环境中的包

Unable to access packages inside virtual environment on startup

我正在努力在我的 raspberry pi 上创建一个 bash 文件,以便能够在 raspberry pi 启动时启动我创建的 webapp 项目。我已经能够弄清楚其中的大部分内容,除了我在虚拟环境方面遇到问题,让我可以访问安装在虚拟环境中的包。当我运行

workon tm
python main.py

在终端中我可以让我的项目正常工作。但是当我 运行 我的 bash 文件

#!/bin/bash
# startup.sh
#Open Chromium on the Raspberry Pi on fullscreen on bootup. Then open the virtual environemnt, and then run our python script

#su - pi -c "/usr/bin/chromium-browser --start-fullscreen 127.0.0.1:5000"
cd /
cd /home/pi/MySQLAppTrueTrue 
source /usr/local/bin/virtualenvwrapper.sh
source ~/.bashrc
#workon /home/pi/.virtualenvs/tm
workon tm
sudo python /home/pi/MySQLAppTrueTrue/main.py

我收到错误

pi@raspberrypi:~/MySQLAppTrueTrue $ ./startup.sh
Traceback (most recent call last):
  File "/home/pi/MySQLAppTrueTrue/main.py", line 1, in <module>
    from webapp import app #import the web app
  File "/home/pi/MySQLAppTrueTrue/webapp/__init__.py", line 2, in <module>
    from flask_mysqldb import MySQL #import mySQL
ImportError: No module named flask_mysqldb

这是否意味着我的 workon tm 行实际上并未导致设备在虚拟环境中工作。如果是这样,我该如何让它工作?或者我只需要在全局而不是在虚拟环境中安装我的包?

而不是所有的 virtualenvwrapper 魔法,你应该只使用那个 virtualenv 的 Python 解释器:

#!/bin/bash
cd /home/pi/MySQLAppTrueTrue 
sudo /home/pi/.virtualenvs/tm/bin/python /home/pi/MySQLAppTrueTrue/main.py