Как активировать virtualenv с помощью PowerShell? - PullRequest
0 голосов
/ 17 апреля 2019

Я сделал virtualenv под названием bitcoin_notifications.py и собираюсь его активировать, но:

PS C:\Users\piotr> bitcoin_notifications\activate.ps1

bitcoin_notifications \ activ.ps1: The module 'bitcoin_notifications' could not be loaded. For more information, run 'Import-Module bitcoin_notifications'. В строке: 1 символ: 1 + bitcoin_notifications \ activ.ps1 + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo: ObjectNotFound: (bitcoin_notifications \ activ.ps1: String) [], CommandNotFoundException + FullyQualifiedErrorId: CouldNotAutoLoadModule

В результате совместного использования до того, как мы прочитаем, модуль не может быть загружен, и если кто-то хочет, чтобы больше информации запустило другую конкретную команду.

Как только я запустил его,

PS C:\Users\piotr> ```Import-Module bitcoin_notifications

Import-Module: указанный модуль 'bitcoin_notifications' не был загружен, потому что ни в одном модуле не было найдено допустимого файла модуля каталог. At line:1 char:1 + Import-Module bitcoin_notifications + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : ResourceUnavailable: (bitcoin_notifications:String) [Import-Module], FileNotFoundException + FullyQualifiedErrorId : Modules_ModuleNotFound, Microsoft.PowerShell.Commands.ImportModuleCommand```

мы можем понять, что в этом каталоге нет модуля. Я просто хочу активировать virtualenv, как я могу это сделать?

Ответы [ 2 ]

0 голосов
/ 10 июля 2019

У меня была очень похожая проблема при использовании Windows 10.

Итак, изначально установил Python 3.7 (добавление в Path) и убедился, что pip работал

PS C:\foldername> pip

Затем запустите следующие команды для установки virtualenv

PS C:\foldername> pip install --upgrade setuptools
PS C:\foldername> pip install ez_setup
PS C:\foldername> pip install virtualenv

Создал папку virtualenvs и залез в нее

PS C:\foldername> mkdir virtualenvs
PS C:\foldername> cd virtualenvs

Затем создайте виртуальную среду molecoder

PS C:\foldername\virtualenvs> virtualenv molecoder
PS C:\foldername\virtualenvs> Set-ExecutionPolicy Unrestricted -Force

и попытался его активировать

PS C:\foldername\virtualenvs> molecoder\Scripts\acivate

и получил следующее сообщение

molecoder \ Scripts \ acivate: модуль 'molecoder' не может быть загружен. Для получения дополнительной информации запустите «Импорт-модуль molecoder». В строке: 1 голец: 1 + molecoder \ Скрипты \ Активировать + ~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo: ObjectNotFound: (molecoder \ Scripts \ acivate: String) [], CommandNotFoundException + FullyQualifiedErrorId: CouldNotAutoLoadModule

В моем случае, потому что я написал активировать вместо активировать , поэтому следующая модификация работала

PS C:\foldername\virtualenvs> molecoder\Scripts\activate

В вашем случае вы пытаетесь активировать, но активация находится внутри envname / Scripts , вы идете в неправильное место.

Чтобы это исправить, нужно просто запустить

PS C:\Users\piotr> bitcoin_notifications\Scripts\activate
0 голосов
/ 18 апреля 2019

Я не знаком с PowerShell, но первые строки из activ.ps1, кажется, упоминают решение:

# This file must be dot sourced from PoSh; you cannot run it
# directly. Do this: . ./activate.ps1

Итак, должно работать следующее (шаг 4 и 5 из вашего комментария - примечаниена шаге 5 не было точки!):

virtualenv bitcoin_notifications
. .\bitcoin_notifications\Scripts\activate.ps1

Примечание: в вашем вопросе упоминается «venv», но на самом деле речь идет о «virtualenv».Обратите внимание, что это два похожих, но разных инструмента.Когда вы используете правильные термины, людям легче найти и ответить на ваш вопрос.Кроме того, при включении команд оболочки в ваши сообщения, пожалуйста, используйте те же самые команды, которые вы использовали, чтобы другие люди могли воспроизвести те же самые шаги (похоже, это не тот случай, так как на шаге 5 отсутствует часть «скрипты»),Спасибо!

...