Ubuntu(WSL)Python与Python3.7微软商店应用程序分开了吗?
在Windows 10上,以下步骤成功安装并运行Python pyfiglet模块:Ubuntu(WSL)Python与Python3.7微软商店应用程序分开了吗?,python,python-3.x,windows,ubuntu,windows-subsystem-for-linux,Python,Python 3.x,Windows,Ubuntu,Windows Subsystem For Linux,在Windows 10上,以下步骤成功安装并运行Python pyfiglet模块: 已启用WSL(以管理员身份运行PowerShell并输入启用Windows OptionalFeature-联机-FeatureName Microsoft Windows子系统Linux) 从微软商店安装Ubuntu 从Microsoft应用商店安装的Windows终端(预览) 在Windows终端>Ubuntu中,我安装了Python3(sudo-apt-get-install-Python3) 在Win
- 已启用WSL(以管理员身份运行PowerShell并输入
)启用Windows OptionalFeature-联机-FeatureName Microsoft Windows子系统Linux
- 从微软商店安装Ubuntu
- 从Microsoft应用商店安装的Windows终端(预览)
- 在Windows终端>Ubuntu中,我安装了Python3(
)sudo-apt-get-install-Python3
- 在Windows Terminal>Ubuntu中,我安装了python包pyfiglet(
)sudo-apt-install-python3-pyfiglet
- 在Windows终端>Ubuntu>python3中,我成功运行了
和导入pyfiglet
,并获得了预期的结果李>打印(pyfiglet.figlet_格式(“Hello World!”)
import pyfiglet
时:
hello\u world.py
并调试ModuleNotFoundError:没有名为'pyfiglet'的模块
为什么导入pyfiglet
在Windows终端>Ubuntu>Python3中成功,但在所有其他三种打开python的方法中都失败了?这些其他版本的python是否与Ubuntu版本的python分开?(我认为它们都是本质上来自WSL的python的同一版本。)
如果它们都是单独的python安装,并且模块没有在它们之间共享,那么如何为Cmd/Python3.7商店应用程序/VSCode版本重新安装(复制)pyfiglet?在python的Cmd/python3.7商店应用程序/VSCode调试版本中尝试
sudo-apt-install-python3-pyfiglet
或pip-install-pyfiglet
失败。Microsoft商店发行版是Windows python,而不是Linux python。这两个版本的Python互不相关。如果您与另一个版本的Windows Python的pip
存在冲突,请通过python3.7
应用程序版本显式运行它,例如python3.7-m pip安装--user pyfiglet
。“--user”选项是必需的,因为即使管理员也不能将系统站点包添加到应用程序安装中。@ErykSun感谢您的回复。Windows Python和Linux Python之间有什么区别?哪个来自WSL?WSL是一个内核扩展,允许在WSL实例中运行本机Linux二进制文件,例如通过运行“%SystemRoot%\System32\bash.exe”启动。在这个环境中,您有一个完整的Linux发行版,比如Ubuntu,您可以使用它的包管理器安装本机Linux包,比如Ubuntu中的apt
。您在此环境中有一个根文件系统,其预期目录为“/dev”和“/etc”,例如位于“%LocalAppData%\Packages\CanonicalGroupLimited.UbuntuonWindows\uuuu\LocalState\rootfs”,永远不能直接从Windows访问。WSL Linux发行版中的“python3”包安装一个“python3.Y”二进制文件(例如:。“/usr/bin”中的“python3.6”)。这是一个本机Linux ELF二进制文件,不是Windows PE二进制文件,因此它只能在WSL环境中执行。它依赖于“/lib64”和“/lib/x86_64-Linux-gnu”中的Linux共享库(*.so)以及“/usr/lib/python3.Y”中的Python标准库。