簡體   English   中英

在“外部”驅動器上的 WSL2 中創建 python venv

[英]Creating a python venv in WSL2 on "external" drive

最近在 WSL2 中啟動了一個新環境。 我能夠在 WSL2 文件系統中創建環境,但是當我切換到已安裝的驅動器時它會失敗。

addohm@addohm-lap:~$ cd ~
addohm@addohm-lap:~$ python3 -m venv env
addohm@addohm-lap:~$ ls
env  onedrive
addohm@addohm-lap:~$ cd onedrive
addohm@addohm-lap:~/onedrive$ cd _code_projects/python_projects/nwfb/
addohm@addohm-lap:~/onedrive/_code_projects/python_projects/nwfb$ python3 -m venv env
Error: Command '['/mnt/d/OneDrive/_code_projects/python_projects/nwfb/env/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1.
addohm@addohm-lap:~/onedrive/_code_projects/python_projects/nwfb$ ls
README.md  env     main.py                   multi.py          templates  test2.py
assets     gui.py  multi-DESKTOP-18V5EK2.py  requirements.txt  test.py
addohm@addohm-lap:~/onedrive/_code_projects/python_projects/nwfb$ source env/bin/activate
-bash: env/bin/activate: No such file or directory
addohm@addohm-lap:~/onedrive/_code_projects/python_projects/nwfb$

似乎已安裝驅動器的內容都歸 root:root 所有。

drwxrwxrwx 1 root root 4096 Nov 26 12:16  nwfb

由於我不完全熟悉 WSL2 和 windows 文件系統之間的交互,因此修改我的 onedrive 文件夾內容的所有所有權是否安全? 我是否必須反復更改添加到驅動器的新文件的所有權?

編輯:小測試,左邊是所有權修改,右邊不是。 改變所有權似乎微不足道。 由於 /mnt/ 包含系統上所有已安裝的驅動器,我想知道是否應該更改整個驅動器的所有權chown -R addohm:addohm /mnt/d 在此處輸入圖像描述

編輯2:更改外部驅動器上文件的所有權后,所有權實際上並沒有改變。

addohm@addohm-lap:~/onedrive/_code_projects/python_projects/nwfb$ sudo chown -R addohm:addohm main.py
addohm@addohm-lap:~/onedrive/_code_projects/python_projects/nwfb$ ls -al
-rwxrwxrwx 1 root root 7169 Nov 21 09:58 main.py

我在這篇 SO 帖子中找到了答案: wsl2 fail to change file permissions

我基本上打開了元數據選項並將自己添加為所有者:組以獲取掛載所有權。 我通過使用user -u <user name>user -g <group name>命令獲得了適當的 ID。

# Enable extra metadata options by default
[automount]
enabled = true
root = /mnt/
options = "metadata,uid=1000,gid=1000,umask=22,fmask=11"
mountFsTab = false

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM