安装Flask后,Python脚本仍无法导入

0 投票
3 回答
2941 浏览
提问于 2025-04-18 12:39

我尝试了各种命令行安装方法来安装flask。我按照这个网站的说明进行了操作:http://flask.pocoo.org/docs/installation/

在输入 sudo easy_install virtualenv 之后:

Searching for virtualenv
Best match: virtualenv 1.11.6
Adding virtualenv 1.11.6 to easy-install.pth file
Installing virtualenv script to /usr/local/bin
Installing virtualenv-2.7 script to /usr/local/bin

Using /usr/local/lib/python2.7/dist-packages
Processing dependencies for virtualenv
Finished processing dependencies for virtualenv

然后在输入 pip-install flask 之后:

Requirement already satisfied (use --upgrade to upgrade): flask in ./python2.7/dist-packages
Requirement already satisfied (use --upgrade to upgrade): Werkzeug>=0.7 in ./python2.7/dist-packages (from flask)
Requirement already satisfied (use --upgrade to upgrade): Jinja2>=2.4 in ./python2.7/dist-packages (from flask)
Requirement already satisfied (use --upgrade to upgrade): itsdangerous>=0.21 in ./python2.7/dist-packages (from flask)
Requirement already satisfied (use --upgrade to upgrade): markupsafe in ./python2.7/dist-packages (from Jinja2>=2.4->flask)
Cleaning up...

但是在输入 . venv/bin/activate 之后:

bash: venv/bin/activate: No such file or directory

我知道怎么在终端里导航和创建文件夹,但我不太确定怎么处理这个命令或者激活virtualenv。我找不到这个文件夹,或者说sudo/pip命令可能是针对我电脑上一个不是默认的文件夹?

我尝试用flask运行一个python脚本,当然:

Traceback (most recent call last):
  File "testingflask.py", line 1, in <module>
    from flask import Flask
ImportError: No module named flask

这是脚本的内容:testingflask.py

from flask import flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World!"

if __name__ == "__main__":
    app.run()

我也尝试过输入 apt-get install python-flask

3 个回答

0

再试试这个方法

  • 先了解一下你的 Python 路径,看看 site-packages 存放在哪里。
  • 下载这个 flask 模块,然后解压缩它。
  • 把解压出来的文件夹复制,然后粘贴到你的 Python 包目录里(通常是 site-packages/dist-packages,对我来说是 :/usr/lib/python2.7/dist-packages)[记得 只有管理员才能这样做]。
  • 打开你的 Python 终端。
  • 然后检查一下 "import flask"

了解你的库文件位置:

In [1]: import sys

In [2]: sys.path
Out[2]: 
['',
 '/usr/bin',
 '/usr/lib/python2.7',
 '/usr/lib/python2.7/plat-x86_64-linux-gnu',
 '/usr/lib/python2.7/lib-tk',
 '/usr/lib/python2.7/lib-old',
 '/usr/lib/python2.7/lib-dynload',
 '/usr/local/lib/python2.7/dist-packages',
 '/usr/lib/python2.7/dist-packages',
 '/usr/lib/python2.7/dist-packages/PILcompat',
 '/usr/lib/python2.7/dist-packages/gtk-2.0',
 '/usr/lib/pymodules/python2.7',
 '/usr/lib/python2.7/dist-packages/ubuntu-sso-client',
 '/usr/lib/python2.7/dist-packages/ubuntuone-client',
 '/usr/lib/python2.7/dist-packages/ubuntuone-control-panel',
 '/usr/lib/python2.7/dist-packages/ubuntuone-storage-protocol',
 '/usr/lib/python2.7/dist-packages/IPython/extensions']
0

你有没有运行过 virtualenv venv 呢?我的意思是,你的项目里有没有一个 venv 文件夹?我想你可能漏掉这一步了!

  1. 首先,运行 $ sudo easy_install virtualenv 或者 sudo easy_install virtualenv 来安装这个工具。
  2. 接着,创建一个新文件夹,命令是 $ mkdir myproject
  3. 然后,进入这个新文件夹,命令是 $ cd myproject
  4. 最后,运行 virtualenv venv 来创建一个虚拟环境。

如果你按照这些步骤操作,你应该会在 myproject 文件夹里看到一个 venv 目录,这样命令 $ . venv/bin/activate 就可以正常工作了。

1

你做了这个步骤吗?

$ mkdir myproject
$ cd myproject
$ virtualenv venv

(显然没有)

无论如何,在激活虚拟环境后,你应该执行 pip install Flask 这个命令。否则,它会被安装到你电脑上默认的Python环境里。

另外要注意,Python是区分大小写的:

from flask import Flask
app = Flask(__name__)

撰写回答