我正在努力在我的linode服务器上获取我的python flask应用程序。我已经按照一些教程来配置这个,但是因为当我访问url时遇到了这个错误。 “ImportError:没有名为ugpromo的模块”。我在stackoverflow上看到过这样的其他问题,并尝试过他们的解决方案,但我仍然得到同样的错误。
wsgi文件
import sys
import logging
logging.basicConfig(stream=sys.stderr)
sys.path.insert(0,"/var/www/html/codingbybrandon/public_html/ugpromo/")
from ugpromo import app as application
application.secret_key = 'Add your secret key'
初始化的.py
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello, I love Digital Ocean!"
if __name__ == "__main__":
app.run()
虚拟主机文件
<VirtualHost *:80>
ServerName ugpromo.codingbybrandon.com
ServerAdmin admin@codingbybrandon.com
ServerAlias www.ugpromo.codingbybrandon.com
WSGIScriptAlias /
/var/www/html/codingbybrandon.com/public_html/ugpromo/ugpromo.wsgi
<Directory /var/www/html/codingbybrandon/public_html/ugpromo/ugpromo/>
Order allow,deny
Allow from all
</Directory>
Alias /static
/var/www/codingbybrandon.com/public_html/ugpromo/ugpromo/static
<Directory
/var/www/codingbybrandon.com/public_html/ugpromo/ugpromo/static/>
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
目录列表如下
public_html
ugpromo
__init__.py
ugpromo
static
templates
ugp
ugpromo.wsgi
答案 0 :(得分:0)
你已经添加了外部&#34; ugpromo&#34;目录 - 包含要导入的__init__
文件的目录 - 到sys.path。您需要添加该目录的父:
sys.path.insert(0,"/var/www/html/codingbybrandon/public_html/")
(但是,请注意,你真的不应该把代码放在public_html下面。把它放在其他地方。)