权限被拒绝在激活VEN时

2024-05-06 08:09:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我刚刚启动了一个新的python项目,并通过在终端中运行virtualenv venv在项目文件夹中创建了一个venv。但是,当我运行venv/bin/activate时,我得到一个被拒绝的权限错误。

我试过了

sudo chown -R user:user project/venv

但我知道

chown: user: illegal group name

我已经给这些静脉注射很多次了,但从来没有出现过这个问题。还有什么我可以试试的吗?

我在Mac电脑上。


Tags: 项目project文件夹终端权限binvirtualenvvenv
3条回答

基本上,它在寻找在创建的文件夹路径上执行activate的权限。

在根目录下,在activate所在的所需路径上发出下面的permissions命令

sudo chmod -R 755 ~/tensorflow/* # or whatever the target structure 

这将扩展所有权限,包括读/写/执行和组

然后执行~/bin/activate

这在Mac上对我有效。

source ./bin/activate

你得跑了

. venv/bin/activate

或者

source venv/bin/activate

activate文件故意不可执行,因为它必须是源文件。

它必须是源代码,因为它需要对环境进行更改。如果它作为脚本运行,它将只对用于运行脚本的子进程的环境进行更改。

评论中有人问起.命令。从man page for bash

    .  filename [arguments]
   source filename [arguments]
          Read  and execute commands from filename in the current shell
          environment and return the exit status of the last command
          executed from filename.

简而言之,.是一个内置的shell,其含义与内置的source相同。

相关问题 更多 >