Source имя source не распознано как имя командлета
Перейти к содержимому

Source имя source не распознано как имя командлета

  • автор:

Virtualenv, установил но не могу запустить(

введите сюда описание изображения

Установил виртуальную среду, все прошло успешно версия 16.7.8 в системе установлен python 3.7.4. После этого создал виртуальную среду virtualenv my_env командой, перешел в папку scripts запустил консоль из нее, что бы отобразился именно путь до папки ввел activate пробовал так же вводить с source командой из оф. руководства, ничего не помогает, подскажите что делать?

Отслеживать
задан 11 дек 2019 в 8:13
Сергей Кузнецов Сергей Кузнецов
173 1 1 серебряный знак 14 14 бронзовых знаков

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

Во первых, воспользуйтесь cmd а не Power Shell — это уже должно помочь. Если не сработает: проделайте шаги из этого туториала, но из обычной cmd https://tyapk.ru/blog/post/python-virtual-environment-windows

Отслеживать
ответ дан 11 дек 2019 в 8:18
Stvlpotapov Stvlpotapov
106 8 8 бронзовых знаков

Огромное вам спасибо, все сработало, а я голову ломал сидел. Правильно ли я понимаю что powershell лучше тогда совершенно не пользоваться?

11 дек 2019 в 8:20
Говорят, что в power shell более широкий функционал. Лично мне для работы всегда хватало cmd
11 дек 2019 в 8:21

Я обычно пользовался gitbush в принципе не испытывал трудностей но для Frontend а с изучением python столкнулся с тем что не смог создать createsuperuser для DB, и от powershel как то не ожидал такого поведения, в офф руководстве написано так что про ослабление политики цифровой подписи для выполнения сценарием, я и эти шаги выполнил virtualenv.pypa.io/en/latest/userguide и результатов все равно не получил пока просто cmd не стал использовать , больше powershell не буду использовать

11 дек 2019 в 8:26

  • python
  • django
  • virtualenv

Виртуальные окружения — Python: Настройка окружения

Вы уже знаете, что pip устанавливает пакеты в одно из двух окружений — в общесистемное или пользовательское. Интерпретатор Python при импорте модуля или пакета ищет его сначала в пользовательском окружении, затем — в общесистемном. Такая последовательность позволяет пользователю иметь нужные именно ему версии библиотек и Python-программ.

Но даже двух окружений недостаточно, когда программист начинает работать с несколькими проектами, ведь разные проекты могут иметь разные наборы зависимостей. Еще более тяжелый случай: разные проекты могут зависеть от общей библиотеки, но требовать разные ее версии — тогда происходит конфликт версий.

Очевидно, что разработчику на Python нужен какой-то механизм, позволяющий содержать разные проекты в изолированных песочницах. Такой механизм существует. Он называется виртуальные окружения.

Устройство виртуальных окружений

Каждое виртуальное окружение представляет собой директорию. Ее содержимое структурно напоминает общесистемное окружение — поддиректории соответственно названы и наполнены. Давайте рассмотрим пример:

env env ├── bin │ ├── activate │ … │ ├── pip │ … │ └── python3 -> …/python3 ├── lib │ └── python3.6 │ └── site-packages │ ├── pip │ │ ├── … │ … │ └── setuptools-40.6.2.dist-info │ ├── … … 

В директории виртуального окружения находится директория bin/ , внутри которой расположены:

  • Копия интерпретатора под именем python3 (символическая ссылка на оригинал)
  • Копия исполняемого файла pip

В соседней директории по пути lib/python3.6/site-packages есть библиотеки, уже установленные в окружение. Как правило, только что созданное окружение имеет:

  • Установленный пакет pip (исполняемый файл bin/pip — его точка входа)
  • Пакет Setuptools

Эти два пакета составляют необходимый минимум для разработки проекта на Python.

При работе в окружении нужно запускать не системные Python и pip, а исполняемые файлы из директории bin . Когда интерпретатор Python находится в окружении, он знает, где находятся все доступные пакеты. Интерпретатор находит их по относительному пути ../lib/python3.6 . В таком случае копия pip из директории bin/ устанавливает пакеты в это же окружение, не затрагивая систему. Получается та самая изоляция, о которой мы говорили в начале урока.

Создание виртуального окружения

Вручную создавать всю описанную иерархию директорий и файлов не нужно — для этого есть специальный модуль venv .

В macOS и Windows этот модуль входит в поставку Python. На Ubuntu его нужно установить отдельно командой:

sudo apt install python3-venv 

Проверим, что модуль установился и готов к использованию:

-m venv --help usage: venv [-h] [--system-site-packages] [--symlinks | --copies] [--clear] [--upgrade] [--without-pip] [--prompt PROMPT] ENV_DIR [ENV_DIR . ] 

Обычно окружение создается командой python3 -m venv имя_окружения . Давайте попробуем создать виртуальное окружение и установить туда пакет cowsay :

Вы можете видеть, что пакет устанавливается вместе с точкой входа, которую можно вызвать командой first_venv/bin/cowsay . Также сам пакет становится доступен интерпретатору, но только тому, что был запущен из окружения.

В таком виде виртуальное окружение уже можно использовать полноценно. Но постоянно вводить команды с префиксом first_venv/bin/ не очень удобно. Есть способ упростить вызов команд, доступных в окружении — это активация.

Активация окружения

При создании окружения в поддиректорию bin помещается сценарий оболочки, который на macOS и Ubuntu называется activate , а на Windows — activate.bat . Чтобы выполнить этот сценарий, нужно вызвать команду:

  • на macOS и Ubuntu:
source first_venv/bin/activate 
  • на Windows:
\> first_venv\Scripts\activate.bat 

В команде выше обратите внимание, что в Windows поддиректория с исполняемыми файлами называется не bin , а Scripts .

На Ubuntu активация выглядит следующим образом:

После активации отпала необходимость указывать путь до вызываемого исполняемого файла. Теперь cowsay и python вызываются без префикса, но это все те же команды из окружения.

Еще изменилось приглашение оболочки: в нем стало отображаться имя окружения. Это работает на macOS и Ubuntu и всегда напоминает, что мы находимся в виртуальном окружении.

Деактивация окружения делается командой deactivate , которая становится доступна после активации.

Активация и деактивация окружения влияют только на текущую сессию — то есть заметны только в этом конкретном терминале. Это удобно, потому что так можно иметь несколько окружений и активировать их одновременно в разных окнах терминала.

Открыть доступ

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно

  • 130 курсов, 2000+ часов теории
  • 1000 практических заданий в браузере
  • 360 000 студентов

Наши выпускники работают в компаниях:

Python-сообщество

[RSS Feed]

  • Начало
  • » Python для новичков
  • » source в PyCharm 2021.3.3

#1 Май 5, 2022 23:16:16

ZolBoch Зарегистрирован: 2022-05-05 Сообщения: 1 Репутация: 0 Профиль Отправить e-mail

source в PyCharm 2021.3.3

Добрый день.
При попытке активировать виртуальную среду в встроенном Terminal PyCharm (2021.3.3) выходит ошибка:

PS D:\Dev\backend_test_homework\venv\scripts> source activate
source : Имя “source” не распознано как имя командлета, функции, файла сценария или выполняемой программы. Проверьте правильность написания имени, а также наличие и правильность пути,
после чего повторите попытку.
строка:1 знак:1
+ source activate
+ ~~~~~~
+ CategoryInfo : ObjectNotFound: (source:String) , CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException

Хотя команда проходит в Git Bash/

Как активировать виртуальное окружение virtualenv в python 3.8?

Установил виртуальное окружение. Через команду pip freeze проверил, установлена последняя версия. Затем командой virtualenv ENV создал папку в проекте. Далее прописываю source /path/to/ENV/bin/activate для активации, а у меня вылетает ошибка типа : имя «source» не распознано. ОС Windows 10, командная строка PowerShell. В чём может быть проблема?

  • Вопрос задан более трёх лет назад
  • 13557 просмотров

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *