我为我的应用程序设置了一个新的virtualenv,以清理已安装的软件包.我config.py在应用程序的实例文件夹中有一个文件.有两个配置,一个用于'instance'文件夹中的dev,另一个用于根文件夹中的production.该应用程序在旧的环境中工作,但现在我收到一个错误,它无法找到配置文件.为什么我会收到此错误,如何解决?
Traceback (most recent call last):
File "application.py", line 12, in <module>
application.config.from_pyfile('config.py')
File "/Users/pavsidhu/Envs/test/lib/python2.7/site-packages/flask/config.py", line 128, in from_pyfile
with open(filename) as config_file:
IOError: [Errno 2] Unable to load configuration file (No such file or directory): '/Users/pavsidhu/Envs/test/var/application-instance/config.py'
Run Code Online (Sandbox Code Playgroud)
我的项目结构如下:
/Users/pavsidhu/Envs/test/
lib/python-3.4/site-packages/
bin/
application.py
static/
templates/
instance/
config.py
Run Code Online (Sandbox Code Playgroud)
Flask认为您的应用程序已安装在env中,因为您将其放在与env相同的基本目录中.此行为在文档中有详细描述.
已安装的模块或包装:
Run Code Online (Sandbox Code Playgroud)$PREFIX/lib/python2.X/site-packages/myapp $PREFIX/var/myapp-instance$ PREFIX是Python安装的前缀.
Flask希望实例文件夹以var/myapp-instance这种方式安装.(结构不完全相同,但它足以愚弄Flask的检测功能.)
您不应该将项目结构与virtualenv结构混合在一起.将两者分开:
my_env/
lib/
bin/
my_project/
my_app/
__init__.py
static/
templates/
instance/
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4727 次 |
| 最近记录: |