2024-05-09 20:25:10 发布
网友
我偶然发现了this article并遵循了所有步骤。但是pyDev看不到我的烧瓶扩展,这真的很烦人。只有一件事(我认为这是关键):
Touch /site-packages/flaskext/__init__.py
我认为Touch是一个unix实用程序。在窗户上也有类似的东西吗?
Touch
我也在努力解决这个问题,问题似乎是烧瓶进口的方式扩展。如果打开flask/ext/__init__.py文件,您将看到它使用导入程序。我认为PyDev不太喜欢这样,所以我用固定的导入编辑了这个文件:
flask/ext/__init__.py
import flask_login as login import flask_sqlalchemy as sqlalchemy import flask_wtf as wtf def setup(): from ..exthook import ExtensionImporter importer = ExtensionImporter(['flask_%s', 'flaskext.%s'], __name__) importer.install() setup() del setup
我还发现Flask SQLAlchemy导入也坏了,所以不要像文档中解释的那样执行db.Column,直接使用SQLAlchemy导入,即from sqlalchemy import Column, ForeignKey
db.Column
from sqlalchemy import Column, ForeignKey
默认情况下,Eclipse使用模块的静态分析。flask.ext动态生成导入列表。要使用Python shell强制进行动态分析,请将flask.ext添加到强制内置列表。
flask.ext
转到Preferences -> PyDev -> Interpreters -> Python Interpreter。选择您的解释器,转到Forced Builtins选项卡。单击New...,然后输入flask.ext。
Preferences -> PyDev -> Interpreters -> Python Interpreter
Forced Builtins
New...
这需要PyDev通过shell强制分析模块。
有关详细信息,请参见PyDev manual。
如果您的项目位于虚拟环境中,并且希望在eclipse中添加该项目,以便该项目使用安装在虚拟环境中的库,则应遵循以下步骤。
步骤1: 假设虚拟环境的绝对路径是: C:\Users\sadegh\Desktop\flask_eclipse\fe\venv
C:\Users\sadegh\Desktop\flask_eclipse\fe\venv
转到window->preferences->PyDev->interpretors->Python Interpretor 在Scripts目录中,有python.exe 这是分配给这个虚拟环境的python解释器。这个可执行文件将是我们将添加到eclipse中的新python解释器。
window->preferences->PyDev->interpretors->Python Interpretor
Scripts
python.exe
第二步: 转到window->preferences->PyDev->Interpreters->Python Interpreter
window->preferences->PyDev->Interpreters->Python Interpreter
在右侧窗格中,您将看到:
单击“新建”按钮,将弹出此窗口:
在Interpreter Name字段中写入任何需要的内容,并在Interpreter Executable字段中写入步骤1中提到的python.exe文件的绝对路径
Interpreter Name
Interpreter Executable
单击OK后,将弹出:
OK
选择所有项目,然后单击OK
步骤3:在上面的窗格中选择新添加的解释器,然后在下面的窗格中转到Forced Builtin选项卡并单击下面窗格右侧的“新建”按钮。
Forced Builtin
在弹出的窗口中写入flask.ext。
第四步:一切都准备好了:
如果要启动新项目: 创建新的PyDev Project时,请选择我们创建的新解释器作为此项目的解释器。
PyDev Project
如果要将虚拟环境中的现有项目转换为flask项目,请右键单击project并转到properties,然后在PyDev-Interpreter/Grammar中将解释器更改为我们创建的新解释器。
PyDev-Interpreter/Grammar
注意:如果希望eclipse在虚拟环境中为您运行服务器,您可以从包含Flask()实例的代码中运行服务器,如下所示:
if __name__ == '__main__': #here i assume you have put this code in a file that app.run() #contains variable "app", which contains the instance of #Flask(__main__)
我也在努力解决这个问题,问题似乎是烧瓶进口的方式扩展。如果打开
flask/ext/__init__.py
文件,您将看到它使用导入程序。我认为PyDev不太喜欢这样,所以我用固定的导入编辑了这个文件:我还发现Flask SQLAlchemy导入也坏了,所以不要像文档中解释的那样执行
db.Column
,直接使用SQLAlchemy导入,即from sqlalchemy import Column, ForeignKey
默认情况下,Eclipse使用模块的静态分析。
flask.ext
动态生成导入列表。要使用Python shell强制进行动态分析,请将flask.ext
添加到强制内置列表。转到
Preferences -> PyDev -> Interpreters -> Python Interpreter
。选择您的解释器,转到Forced Builtins
选项卡。单击New...
,然后输入flask.ext
。这需要PyDev通过shell强制分析模块。
有关详细信息,请参见PyDev manual。
如果您的项目位于虚拟环境中,并且希望在eclipse中添加该项目,以便该项目使用安装在虚拟环境中的库,则应遵循以下步骤。
步骤1: 假设虚拟环境的绝对路径是:
C:\Users\sadegh\Desktop\flask_eclipse\fe\venv
转到
window->preferences->PyDev->interpretors->Python Interpretor
在Scripts
目录中,有python.exe
这是分配给这个虚拟环境的python解释器。这个可执行文件将是我们将添加到eclipse中的新python解释器。第二步: 转到
window->preferences->PyDev->Interpreters->Python Interpreter
在右侧窗格中,您将看到:
单击“新建”按钮,将弹出此窗口:
在
Interpreter Name
字段中写入任何需要的内容,并在Interpreter Executable
字段中写入步骤1中提到的python.exe文件的绝对路径单击
OK
后,将弹出:选择所有项目,然后单击
OK
步骤3:在上面的窗格中选择新添加的解释器,然后在下面的窗格中转到
Forced Builtin
选项卡并单击下面窗格右侧的“新建”按钮。在弹出的窗口中写入
flask.ext
。第四步:一切都准备好了:
如果要启动新项目: 创建新的
PyDev Project
时,请选择我们创建的新解释器作为此项目的解释器。如果要将虚拟环境中的现有项目转换为flask项目,请右键单击project并转到properties,然后在
PyDev-Interpreter/Grammar
中将解释器更改为我们创建的新解释器。注意:如果希望eclipse在虚拟环境中为您运行服务器,您可以从包含Flask()实例的代码中运行服务器,如下所示:
相关问题 更多 >
编程相关推荐