【问题标题】:python package installed in pipenv but says no module found [duplicate]python包安装在pipenv但说没有找到模块[重复]
【发布时间】:2019-02-02 13:40:19
【问题描述】:

我用 pipenv 安装了flask,但无法导入包。

python 3.6.8,pipenv 2018.11.26

$ pipenv install flask
Installing flask…
Adding flask to Pipfile's [packages]…
Installing dependencies from Pipfile.lock (a18377)…
✔ Installation Succeeded 
  ????   ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 29/29 — 00:00:0603
(env) $ python -c 'import flask'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'flask'

但看起来烧瓶已安装:

(env) $ flask --help
Traceback (most recent call last):
  File ".../.virtualenvs/env-vop2XA0b/lib/python3.6/site-packages/flask/cli.py", line 529, in list_commands
    rv.update(info.load_app().cli.list_commands(ctx))
  File ".../virtualenvs/env-vop2XA0b/lib/python3.6/site-packages/flask/cli.py", line 384, in load_app
    'Could not locate a Flask application. You did not provide '
flask.cli.NoAppException: Could not locate a Flask application. You did not provide the "FLASK_APP" environment variable, and a "wsgi.py" or "app.py" module was not found in the current directory.
Usage: flask [OPTIONS] COMMAND [ARGS]...

  A general utility script for Flask applications.

  Provides commands from Flask, extensions, and the application. Loads the
  application defined in the FLASK_APP environment variable, or from a
  wsgi.py file. Setting the FLASK_ENV environment variable to 'development'
  will enable debug mode.

    $ export FLASK_APP=hello.py
    $ export FLASK_ENV=development
    $ flask run

Options:
  --version  Show the flask version
  --help     Show this message and exit.

Commands:
  routes  Show the routes for the app.
  run     Runs a development server.
  shell   Runs a shell in the app context.

(env) $ which flask
path/to/.virtualenvs/env-vop2XA0b/bin/flask

virtualenv 的行为相同

这是怎么回事?

【问题讨论】:

    标签: python flask


    【解决方案1】:

    看起来你正在使用 pipenv 安装包,但是你必须进入 pipenv 创建的虚拟环境才能真正使用安装的包。

    首先,使用pipenv install flask安装包

    现在,您有两个选项可以在安装了 flask 的虚拟环境中运行任何东西。

    1. pipenv run flask - 直接运行flask命令,不需要你source虚拟环境。

    2. pipenv shellpython -c 'import flask' - 通过获取虚拟环境,然后使用它的 python 运行,它们的工作方式与虚拟环境完全相同。

    【讨论】:

    • (env) $ 表示由 pipenv 创建的活动 venv
    • 看来我无法使用 Python 3.6.8 版和 Pipenv 2018.11.26 版来解决同样的错误。
    • 奇怪的是,我在使用 virtualenv 包创建的 virtualevironment 时遇到了同样的问题
    猜你喜欢
    • 1970-01-01
    • 2021-01-31
    • 1970-01-01
    • 2021-12-08
    • 2021-06-08
    • 1970-01-01
    • 2018-12-27
    • 1970-01-01
    • 2020-11-10
    相关资源
    最近更新 更多