在Windows的VirtualBox Ubuntu中搭建virtualenv遇权限问题求解决方案
可行的virtualenv搭建方案
方案一:在Ubuntu本地磁盘创建虚拟环境
- 直接在Ubuntu系统的本地目录(比如
/home/myuser/下新建projects文件夹)创建虚拟环境,命令如下:python -m venv venv # 或使用virtualenv virtualenv venv - 创建完成后,可通过软链接指向共享目录的项目文件,既保留虚拟环境的正常使用,又能访问共享文件:
ln -s /mnt/shared/my_project /home/myuser/projects/my_project
方案二:修改VirtualBox共享目录挂载参数
- 先卸载已挂载的共享目录:
sudo umount /mnt/shared - 重新挂载时添加支持符号链接和匹配用户权限的参数:
其中sudo mount -t vboxsf 共享文件夹名称 /mnt/shared -o allow_symlinks,uid=1000,gid=1000共享文件夹名称是你在VirtualBox中设置的共享名,uid=1000和gid=1000为Ubuntu普通用户默认ID,可通过id命令查看自己的实际ID。 - 若要开机自动挂载,可将挂载规则写入
/etc/fstab:
完成后重新挂载或重启系统,再尝试创建virtualenv。echo "共享文件夹名称 /mnt/shared vboxsf allow_symlinks,uid=1000,gid=1000 0 0" | sudo tee -a /etc/fstab
方案三:用Docker替代virtualenv(可选)
- 若项目需要环境隔离,可使用Docker将共享目录挂载到容器中,规避文件系统权限问题:
进入容器后安装Python及所需依赖即可正常开发。docker run -it -v /mnt/shared/my_project:/app ubuntu:20.04 /bin/bash
内容的提问来源于stack exchange,提问作者Alex
相关产品推荐
相关产品推荐

