Вот и все! Нет команды для удаления вашей виртуальной среды. Просто отключите его и избавьте свое приложение от его артефактов, рекурсивно удалив его.
Обратите внимание, что это одно и то же независимо от того, какую виртуальную среду вы используете. virtualenv
, venv
, среда Анаконды, pyenv
, pipenv
основаны здесь на том же принципе.
Лучшее, что можно сделать здесь, - это использовать службу.
Служба - это просто класс, доступ к которому вы получаете из центрального репозитория служб, часто контейнера IOC. Затем служба реализует то, что вам нужно, например OpenFileDialog.
Итак, если у вас есть IFileDialogService
в контейнере Unity, вы можете сделать ...
void Browse(object param)
{
var fileDialogService = container.Resolve<IFileDialogService>();
string path = fileDialogService.OpenFileDialog();
if (!string.IsNullOrEmpty(path))
{
//Do stuff
}
}
Я использую службу, которую я, например, могу передать в конструктор моей модели viewModel или разрешить с помощью внедрения зависимости. например
public interface IOpenFileService
{
string FileName { get; }
bool OpenFileDialog()
}
и класс, реализующий его, использующий под капотом OpenFileDialog. В viewModel я использую только интерфейс и, таким образом, могу смоделировать / заменить его при необходимости.
Наличие службы похоже на открытие представления из модели просмотра. У меня есть свойство Dependency, и при изменении свойства я открываю FileDialog и читаю путь, обновляю свойство и, следовательно, связанное свойство виртуальной машины