Я - супер новичок для Ubuntu и в основном нуждаюсь в Ubuntu для пакета Python. Я хотел бы работать, файл Python в говорят e:/username/folder1/folder2/python.py
. Я попробовал каждый метод онлайн, и единственный ответ bash: cd./e: No such file or directory
. Я не уверен, является ли это из-за окон удара или virtualenv.
Когда я использую удар на Ubuntu в Windows, ls
, это говорит VIRTUALENV_DIR
. cd
, это говорит /home/username
. cd ..
и т.д. изменяет каталог немного, но не другой диск, ни папку, которую я хотел бы, чтобы он нашел.
WSL хранит ваши диски Windows в папке / mnt
с именем диска в качестве подпапки. Например, ваш диск C: \
будет находиться в / mnt / c /
, чтобы вы могли его использовать.
Помня об этом, вы можете переключиться на свою конкретную папку, например :
cd /mnt/e/username/folder1/folder2
В проводнике Windows перейдите к e: / username / folder1 / folder2 /
,
введите bash
и нажмите Enter в адресной строке появится окно bash
с путем в e: / username / folder1 / folder2 /
.
Это также работает с командой cmd
.
с помощью этого небольшого скрипта вы можете выполнять любую команду из каталога, в котором сейчас находится ваша Powershell. Он работает, только если диск уже смонтирован в / mnt / в подсистеме. Он не работает с сетевыми ресурсами.
function tux {$dl = (pwd).Path | wsl eval "cut -c 1 | tr 'A-Z' 'a-z'"; $wd = (pwd).Path | wsl eval "cut -d : -f 2 | tr '\\' '/' 2> /dev/null" ; wsl eval "cd '/mnt/$dl$wd' && eval '$args'"}
после его выполнения вы можете использовать его следующим образом:
tux vim test.txt
Да, вы можете это сделать. Я использовал shift + щелкните правой кнопкой мыши, чтобы получить «Открыть Powershell здесь», в зависимости от того, какой каталог вы хотите использовать, и запустите команду bash, а затем запустите как обычно, наслаждайтесь. Это то же самое, что при использовании Ubuntu bash, поскольку он использует те же пакеты Python в Windows Powershell после использования команды bash.
Примечание: В Windows 10 последнее обновление может быть апрель 2018 года с включенным WSL и режимом разработчиков.
Вы можете попробовать следующее:
cd E: / username / folder1 / folder2 /
а затем запустить
python python.py
. В моем случае это всегда работает на машине Windows, на которой запущен bash.
Утилита под названием wslpath
, которая поставляется как с WSL, так и с WSL2, может преобразовывать пути Windows в пути WSL (или переводить пути WSL в пути Windows). Например, команда wslpath 'E: \ username \ folder1 \ folder2'
дает вам путь в WSL / mnt / e / username / folder1 / folder2
.
Используя утилиту wslpath
, я определяю следующую функцию в моем ~ / .bashrc
для быстрого cd
путей Windows.
cdw () {cd `wslpath" $ 1 "`; }
С помощью этой пользовательской функции я легко могу с cd
на E: \ username \ folder1 \ folder2
, просто набрав
cdw 'E: \ username \ folder1 \ folder2 '
Не забудьте заключить путь Windows в одинарные кавычки, если он содержит обратную косую черту.