如何在Termux上运行Python虚拟环境

5

我正在尝试在安卓上使用虚拟环境。使用virtualenv env1命令,但出现以下错误:

PermissionError: [Errno 1] Operation not
permitted:'/data/data/com.termux/files/usr/bin/python3' -> 
'/storage/emulated/0/@tsmile/projects/env1/bin/python'

1
尝试更改您要执行的文件的权限。 - mk23
1
或者尝试以sudo访问权限运行。 - mk23
2个回答

7

它无法在 "/Storage/emulated/0/....." 运行。

只能在termux主目录中运行。

为了创建它:

  1. cd ~

  2. virtualenv newenv

  3. source newenv/bin/activate

现在,venv已经创建在/data/data/com.termux/files/home中。


1
你的回答可以通过添加支持信息来改善。请编辑以添加进一步细节,例如引用或文档,以便其他人可以确认你的回答是否正确。你可以在帮助中心找到更多关于如何撰写良好回答的信息。 - Maik Hasler
3
限制似乎在于Android不允许在“共享”存储(即在应用数据目录之外的“sdcard”上)创建符号链接,而virtualenv和venv模块都使用符号链接。 - aaa

1

termux-setup-storage授予Termux存储权限 *运行'termux-setup-storage'命令,并按照弹出窗口中的信息授予存储权限,该窗口会在您运行命令时出现。 进入'/data/data/com.termux/files/home/storage/shared目录并开始创建您的文件。 现在,Termux可以完全访问您的存储空间,在此目录中创建虚拟环境时不会遇到PermissionError错误。 如果未授予Termux存储权限,您仍然可以在'data/data/com.termux/files/home'目录中创建虚拟环境。

当您在此目录中创建文件时,您可能无法使用文本编辑器和/或文件管理器访问这些文件,而这是您偶尔需要的。


嗨,艾萨克,谢谢你的时间和贡献。如果你能改进解决方案的内容结构,我会很感激。考虑使用项目符号和代码块来提高可读性。目前,跟随你的答案和文本有些困难。 - Alireza Roshanzamir

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接