FileNotFoundError: [Errno 2] 没有这样的文件或目录: b'/Users//<myname>Desktop/kivy/kivy-ios/dist/hostpyt



因为我在Xcode中构建项目时得到了这个错误,

ModuleNotFoundError: No module named 'requests'

,然后我试图安装请求模块与git命令。

python toolchain.py pip install requests

然而,我读了日志,我得到了这个FileNotFoundError消息。我该如何处理这个错误?

[INFO    ] Using the bundled version for recipe 'host_setuptools3'
[INFO    ] Using the bundled version for recipe 'hostopenssl'
[INFO    ] Using the bundled version for recipe 'hostpython3'
[INFO    ] Global: hostpython located at /Users/<myname>/Desktop/kivy/kivy-ios/dist/hostpython3/bin/python
[INFO    ] Global: hostpgen located at /Users/<myname>/Desktop/kivy/kivy-ios/dist/hostpython3/bin/pgen
[INFO    ] Using the bundled version for recipe 'ios'
[INFO    ] Using the bundled version for recipe 'kivy'
[INFO    ] Using the bundled version for recipe 'libffi'
[INFO    ] Include dir added: {arch.arch}/ffi
[INFO    ] Using the bundled version for recipe 'openssl'
[INFO    ] Include dir added: {arch.arch}/openssl
[INFO    ] Using the bundled version for recipe 'pyobjus'
[INFO    ] Using the bundled version for recipe 'python3'
[INFO    ] Using the bundled version for recipe 'sdl2'
[INFO    ] Include dir added: common/sdl2
[INFO    ] Using the bundled version for recipe 'sdl2_image'
[INFO    ] Include dir added: common/sdl2_image
[INFO    ] Using the bundled version for recipe 'sdl2_mixer'
[INFO    ] Include dir added: common/sdl2_mixer
[INFO    ] Using the bundled version for recipe 'sdl2_ttf'
[INFO    ] Include dir added: common/sdl2_ttf
[INFO    ] Executing pip with: ['install', '--isolated', '--prefix', '/Users/<myname>/Desktop/kivy/kivy-ios/dist/root/python3', 'requests']
[INFO    ] Running Shell: /Users/<myname>/Desktop/kivy/kivy-ios/dist/hostpython3/bin/pip3 ('install', '--isolated', '--prefix', '/Users/<myname>/Desktop/kivy/kivy-ios/dist/root/python3', 'requests') {'_env': {'CC': '/bin/false', 'CXX': '/bin/false', 'PYTHONPATH': '/Users/<myname>/Desktop/kivy/kivy-ios/dist/root/python3/lib/python3.9/site-packages', 'PYTHONOPTIMIZE': '2'}, '_iter': True, '_out_bufsize': 1, '_err_to_out': True}
Traceback (most recent call last):
File "/Users/<myname>/Desktop/kivy/kivy-ios/toolchain.py", line 3, in <module>
main()
File "/Users/<myname>/Desktop/kivy/kivy-ios/kivy_ios/toolchain.py", line 1555, in main
ToolchainCL()
File "/Users/<myname>/Desktop/kivy/kivy-ios/kivy_ios/toolchain.py", line 1299, in __init__
getattr(self, args.command)()
File "/Users/<myname>/Desktop/kivy/kivy-ios/kivy_ios/toolchain.py", line 1514, in pip
_pip(sys.argv[2:])
File "/Users/<myname>/Desktop/kivy/kivy-ios/kivy_ios/toolchain.py", line 1186, in _pip
shprint(pip_cmd, *args, _env=pip_env)
File "/Users/<myname>/Desktop/kivy/kivy-ios/kivy_ios/toolchain.py", line 55, in shprint
cmd = command(*args, **kwargs)
File "/Users/<myname>/Desktop/kivy/kivy-ios/posEnv/lib/python3.9/site-packages/sh.py", line 1524, in __call__
return RunningCommand(cmd, call_args, stdin, stdout, stderr)
File "/Users/<myname>/Desktop/kivy/kivy-ios/posEnv/lib/python3.9/site-packages/sh.py", line 780, in __init__
self.process = OProc(self, self.log, cmd, stdin, stdout, stderr,
File "/Users/<myname>/Desktop/kivy/kivy-ios/posEnv/lib/python3.9/site-packages/sh.py", line 2125, in __init__
raise ForkException(fork_exc)
sh.ForkException: 
Original exception:
===================
Traceback (most recent call last):
File "/Users/gordonkwok/Desktop/kivy/kivy-ios/<myenv>/lib/python3.9/site-packages/sh.py", line 2080, in __init__
os.execve(cmd[0], cmd, ca["env"])
FileNotFoundError: [Errno 2] No such file or directory: b'/Users/<myname>/Desktop/kivy/kivy-ios/dist/hostpython3/bin/pip3'

所以我查看了文件"/Users//Desktop/kivy/kivy-ios/dist/hostpython3/bin/pip3"和虚拟环境文件"/Users//Desktop/kivy/kivy-ios//lib/python3.9/site-packages/sh.py"看看它们是否存在。而且它们都是真实存在的!我被这个错误弄糊涂了。所以请帮帮我吧!这是我运行我的第一个应用程序的最后一步!谢谢!

让我们分步骤解决这个问题:

我假设您的toolchain.py文件是您想要运行的脚本,您需要requests模块。

步骤1:激活虚拟环境(您可能已经这样做了)

在使用pip install <module>安装一个新模块之前,你想激活你的虚拟环境,因为你想在那里安装它。

你可以这样做:

  • linux:source <your-venv-path>/bin/activate
  • 在windows:<your-venv-path>Scriptsactivate.bat

关于如何激活虚拟环境的一些很好的答案可以在Windows和Linux中找到。

步骤2:安装请求模块

现在您的虚拟环境是活动的,您应该能够像这样安装请求模块:

pip install requests

步骤3:运行脚本

在此之后,您应该能够像这样运行安装了请求模块的脚本:

python toolchain.py

在过去的几天里,我尝试了很多方法来解决这个问题,但都失败了。最后,kivy discord里的一个管理员帮我解决了这个问题。

在我的例子中,也许我使用命令sudo toolchain.py build python kivy。然而,sudo是坏的,可能是导致这个问题的原因。

在我清理构建并使用toolchain.py build python kivy重新安装所有kivy后,我终于解决了这个问题。感谢管理员和kivy社区的帮助!

相关内容

最新更新