Ubuntu(WSL)Python与Python3.7微软商店应用程序分开了吗?

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

在Windows 10上,以下步骤成功安装并运行Python pyfiglet模块:

  • 已启用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
时:

  • Python3.7商店应用程序(通过Microsoft商店应用程序安装)
  • Cmd>python3
  • VSCode>create
    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标准库。