python 为什么激活venv时出现“Permission denied”(权限被拒绝)?

kzmpq1sx  于 2023-01-01  发布在  Python
关注(0)|答案(8)|浏览(884)

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

sudo chown -R user:user project/venv

但我得到了

chown: user: illegal group name

我已经设置了很多次这些venvs,从来没有这个问题。还有什么我可以尝试的吗?
我用的是苹果电脑。

62o28rlo

62o28rlo1#

你得赶紧跑

. 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内置函数相同。

kadbb459

kadbb4592#

在我的VSC上,我用了这些,效果很好。

python3 -m venv .venv

source .venv/bin/activate
iyr7buue

iyr7buue3#

我也遇到了同样的问题,这对我很有效:第一个月

yr9zkbsy

yr9zkbsy4#

    • 源**venv/bin/激活

venv/bin/激活

activated successfully "source"命令需要添加在激活文件的完整路径之前。

例如

  • 源 * 您的项目文件夹路径*/venv/bin/activate

**

如果您在项目文件夹内,则执行以下命令-

    • 源venv/bin/激活 *

xxls0lw8

xxls0lw85#

x1c 0d1xFrom在虚拟环境文件夹中可以键入:

source ./bin/activate

是的,如果遇到权限问题,请向上移动一个文件夹并执行source ./foldervirtualenvironment/bin/activate

uklbhaso

uklbhaso6#

基本上,它是在查找在创建的文件夹路径上执行activate的权限。
在根目录上,对激活所在的所需路径提供以下权限命令

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

这将扩展所有权限,包括读/写/执行和组
然后执行~/bin/activate

fruv7luv

fruv7luv7#

从命令行根目录输入:

source /home/<your_username>/<app_folder>/<venv_name>/bin/activate

对我有用

mqkwyuun

mqkwyuun8#

转到激活文件右键单击并打开属性--〉权限
并选中执行
打开此图像:

相关问题