我偶然发现了this article,并按照所有步骤操作。但是pyDev看不到我的flask扩展,这真的很烦人。只有一件事(我认为这是关键):Touch /site-packages/flaskext/__init__.py
我想Touch
是一个unix的实用程序,在Windows上有没有等价的?
我偶然发现了this article,并按照所有步骤操作。但是pyDev看不到我的flask扩展,这真的很烦人。只有一件事(我认为这是关键):Touch /site-packages/flaskext/__init__.py
我想Touch
是一个unix的实用程序,在Windows上有没有等价的?
4条答案
按热度按时间nkkqxpd91#
Eclipse默认使用模块的静态分析。
flask.ext
动态构建导入列表。要使用Python shell强制动态分析,请将flask.ext
添加到强制内置列表中。转到
Preferences -> PyDev -> Interpreters -> Python Interpreter
。选择您的解释器,转到Forced Builtins
选项卡。单击New...
并输入flask.ext
。这需要PyDev通过shell强制分析模块。
有关详细信息,请参见PyDev manual。
mkshixfv2#
我也在纠结这个问题,问题似乎出在Flask导入扩展名的方式上。如果你打开
flask/ext/__init__.py
文件,你会看到它使用了importer。我不认为PyDev喜欢这样,所以我编辑了这个文件,修复了导入:我还发现Flask-SQLAlchemy导入也中断了,所以不要像文档中解释的那样执行
db.Column
,而是直接使用sqlalchemy导入,即from sqlalchemy import Column, ForeignKey
m528fe3b3#
如果您的项目在虚拟环境中,并且您希望在eclipse中添加项目,以便项目使用安装在虚拟环境中的库,那么您应该遵循以下步骤。
步骤1:假设虚拟环境的绝对路径为:
C:\Users\sadegh\Desktop\flask_eclipse\fe\venv
转到
Scripts
目录中的window->preferences->PyDev->interpretors->Python Interpretor
,有python.exe
,它是已经分配给这个虚拟环境的python解释器,这个可执行文件将是我们将要添加到eclipse中的新python解释器。
步骤2:转到
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
中将Interpreter更改为我们创建的新解释器。注意:如果你想让eclipse在虚拟环境中运行服务器,你可以从包含Flask()示例的代码中运行服务器,如下所示:
7uzetpgm4#
touch
将创建一个空文件(如果该文件不存在),或更新该文件的修改时间(如果该文件存在)。为此,命令行中的
echo > /site-packages/flashext/__init__.py
就足够了(文件不会是空的,但只包含一个换行符,这在语义上与Python是等价的)。