gpt4 book ai didi

python - 脚本无法导入已安装的包,但解释器可以

转载 作者:太空宇宙 更新时间:2023-11-03 17:28:20 25 4
gpt4 key购买 nike

使用 Windows 10 和 Python 3.4.3、Powershell 以及干净的 venv:

PS C:\Users\nward\MyEnvDirectory .\Scripts\Activate.ps1
(MyScriptVenv) PS C:\Users\nward\MyEnvDirectory pip install Package
[...] Success!

我可以验证 C:\Users\nward\MyEnvDirectory\Lib\site-packages\Package 是否存在并且看起来不错。

(MyScriptVenv) PS C:\Users\nward\MyEnvDirectory python
Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:44:40) [MSC v.1600 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import Package
>>>

所以,这有效。但是,如果我尝试运行同一行,例如从同一目录中的 .py 文件中“导入包”,如下所示 - (MyScriptEnv) PS C:\Users\nward\MyEnvDirectory .\main.py - 然后我得到一个 ImportError: No module named 'Package'

根据我所读到的内容,这通常是由于 PATH 错误、阴影或 Python 的混合版本造成的。 python --version 提供了 Python 3.4.3,我不相信我安装了任何其他版本。我不认为这是由于阴影造成的,因为我的脚本文件和包有不同的名称。所以这一定是由于 PATH 问题造成的,但我不明白它是什么,因为解释器显然没有 PATH 问题!这个问题Installed Python script cannot import package modules似乎正是我的问题,但这是由于阴影/目录结构问题造成的。我还了解到这可能是一个权限问题(例如,一个提升的解释器但一个低权限的执行 shell),但在这种情况下的权限是可以的。

有人对我接下来应该去哪里有什么建议吗?这是一个非常基本的问题,我确信我只是误解了一些东西,但我有点困惑。谢谢!

最佳答案

似乎当您使用 -

在虚拟环境中运行打开的 python 交互式解释器时
PS C:\Users\nward\MyEnvDirectory python

您正在从 virtualenv 获取 python 安装,但是当您运行脚本时 -

.\main.py

它正在获取 virtualenv 外部的 python,因为当您直接运行该文件时,Windows 会获取为 .py 文件注册的 python 可执行文件。您可以尝试运行脚本 -

python main.py

来自 virtualenv 内部。

关于python - 脚本无法导入已安装的包,但解释器可以,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32269303/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com