在我的虚拟环境中,所有命令都需要使用sudo

9 投票
2 回答
9150 浏览
提问于 2025-04-15 21:43

我设置了一个 virtualenv(虚拟环境),它可以正常工作,但不知道为什么我在执行一些简单的命令,比如 mkdir(创建文件夹),却需要用到 sudo(超级用户权限)。显然我做错了什么。你们觉得可能是什么原因呢?

谢谢

2 个回答

4

这些命令

cd test
sudo virtualenv python

会创建一个名为 python 的文件夹,这个文件夹的所有者是 root 用户。

drwxr-xr-x 5 root   root      4096 2010-04-17 11:40 python

这就意味着你在 python 文件夹里做一些简单的事情,比如再创建一个文件夹时,就必须使用 sudo 命令。

解决办法是先删除 python 文件夹(如果里面有数据,记得先保存),然后执行这个命令

virtualenv python

不加 sudo

15

检查一下目录的权限和拥有者,然后执行以下命令:

$ sudo chown -R me:me virtualenvdir
$ sudo chmod -R a+rX virtualenvdir

me 替换成你的用户名,通常是 $USER,把 virtualenvdir 替换成你虚拟环境的工作目录。

撰写回答