Как правильно настроить среду поэзии с помощью python?

#python #python-poetry

Вопрос:

Это мой первый раз, когда я создаю стихи. Структура моего проекта выглядит следующим образом:

 bert-api
    bert_api
        bert
            __init__.py
            predict.py
        data
            docs
    tests
    venv
    poetry.lock
    pyproject.toml
 

Я создал свои стихи, используя следующую команду:

 curl -sSL https://raw.githubusercontent.com/python

#change python version
alias python='/usr/local/bin/python3.6'
python --version

#start a new project
poetry new bert-api

#open the project
poetry install
poetry shell

poetry env use /usr/local/bin/python3.6
 

теперь, чтобы бежать predict.py я иду:

  (venv) (base) a10.12@MacBook-Air bert-api % poetry install
 (venv) (base) a10.12@MacBook-Air bert-api % poetry run script
 

и это прекрасно работает:

Однако, насколько я знаю, я предполагаю использовать

 poetry install
poetry shell

Spawning shell within /Users/a10.12/Library/Caches/pypoetry/virtualenvs/bert-api-w7KuvcmX-py3.6
a10.12@MacBook-Air bert-api % . /Users/a10.12/Library/Caches/pypoetry/virtualenvs/bert-api-w7KuvcmX-py3.6/bin/activate
 

а потом беги

 poetry run script
 

но если я сделаю это таким образом, я получу ошибку:

 ImportError: cannot import name 'VersionConstraint'
 

Что я делаю не так?

Мой проект pyproject.toml

 [tool.poetry]
name = "bert-api"
version = "0.1.0"
description = ""
authors = [name]

[tool.poetry.dependencies]
python = "^3.6.7"
deeppavlov = "^0.15.0"

[tool.poetry.scripts]
script = "bert_api.bert.predict:main"

[tool.poetry.dev-dependencies]
pytest = "^5.2"

[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api
 

»

Ответ №1:

Мне просто нужно было указать версию python, прежде чем я сделаю установку poetry и оболочку poetry

 poetry env use python3.6