gpt4 book ai didi

python - 使用 Python IDLE 时如何从备用位置导入模块?

转载 作者:太空狗 更新时间:2023-10-30 02:22:47 26 4
gpt4 key购买 nike

我已经尝试解决这个问题超过 2 天,筛选互联网和教程,但我没有解决我的问题。我是一个真正的新手,还不知道我在做什么..

我使用的软件:苹果操作系统 X 10.6Python v3.2.2交互式解释器(IDLE)

问题:IDLE 的默认目录是/Users/ME/Documents/。扩展名为 .py 的文件只有位于此目录中时才能打开。但是,我创建了一个文件夹,我想在其中保存与该软件有关的所有 .py 文件等。目前,IDLE 无法从我选择的目录中加载 .py 文件。

我首先做的是添加到 IDLE:导入系统。sys.path.append('Users/Mydir/')系统路径

但是,在 2010 年的一个已经存在的线程中,我读到 sys.path 仅供解释器使用,如果我要更改它,我需要修改 PYTHONPATH 环境变量:

PYTHONPATH="/Me/Documents/mydir:$PYTHONPATH"导出 PYTHONPATH

但是,我对如何使用它感到困惑,无法找到以下问题的答案:1) 当我安装程序时,PYTHONPATH (.py?) 已经存在于我的计算机上?如果是,它在哪里?我无法在任何地方找到它。如果不是,我需要创建一个。但是应该将内容放在哪里以及应该是什么,以便 IDLE 可以从非默认目录加载文件?它应该只包含粗体字吗?

我希望我把问题说清楚了。

干杯

最佳答案

我不是很清楚load 是什么意思。这可能意味着在空闲编辑器中打开关闭 文件。或者它可能意味着能够使用 Python import 语句从其他文件加载现有的 Python 模块。我假设是后者,即 load 是指 import

在 Mac OS X 上有两种启动 IDLE 的一般方法。一种是从终端 session 的命令行;另一种是从终端 session 的命令行。如果您使用 python.org 安装程序安装了 Python 3.2,默认情况下键入 /usr/local/bin/idle3.2 即可。另一种方法是从 /Applications/Python 3.2 启动 IDLE.app,即双击它的图标。因为您说文件的默认目录是您的 Documents 文件夹,所以我假设您使用的是第二种方法,因为 IDLE.app 设置了 Documents作为其当前工作目录,它成为 *Open*s 和 *Save*s 的默认目录,并自动添加为 Python 的 sys.path 的第一个目录, 的目录列表Pythonimporting 时用于搜索模块。

如果您想将其他目录添加到 sys.path,正如您所指出的,您可以使用 PYTHONPATH 环境变量来完成此操作。执行此操作的标准方法是将 export PYTHONPATH=... 定义添加到 shell 启动脚本,如 .bash_profile。但是,如果您使用 IDLE.app,则不涉及 shell,因此 .bash_profile 中的命令无效。

虽然有一些方法可以修改 OS X GUI 应用程序的环境变量,但在这种情况下,更简单的解决方案是使用其他方法从 shell session 的命令行调用 IDLE,使用 /usr/local/bin/idle3.2 或者,如果您在 /Applications/Python 3.2 文件夹中运行了 Update Shell Profile 命令(并打开一个新的终端 session ),只是 idle3。然后,您设置的 PYTHONPATH 环境变量将被该 IDLE 继承。

顺便说一句,除了在 IDLE 中修改代码外,没有直接的方法可以从 Documents 修改 IDLE.app 的初始当前工作目录。如果你从一个命令启动 IDLE行,它继承了 shell 的当前工作目录。

[UPDATE] 但是,与其胡乱定义 PYTHONPATH,这里有另一种更简单、可能更好的方法,它应该与 IDLE.app 或命令行空闲。它利用了 Python path configuration (.pth) filesuser site-package directories .假设您在 Mac OS X 上使用 3.2 的标准 Python 框架构建(例如来自 python.org 安装程序),为要永久添加到 sys.path 的目录创建一个路径文件。在终端 session 中:

mkdir -p ~/Library/Python/3.2/lib/python/site-packages
cd ~/Library/Python/3.2/lib/python/site-packages
cat >my_paths.pth <<EOF
/Users/YOUR_USER_NAME/path/to/your_additional_python_directory_1
/Users/YOUR_USER_NAME/path/to/your_additional_python_directory_2
EOF

现在,无论何时以您的用户名运行 Python 3.2 或 IDLE,您添加到 .pth 文件的目录将自动添加到 sys.path .

顺便说一句,对于早于 3.2 或 2.7 的 Python 版本,用户站点包目录的确切路径位置可能略有不同。此外,在其他 Unix-y 系统上,用户站点包目录的默认位置是 ~/.local/lib/python3.2/site-packages

关于python - 使用 Python IDLE 时如何从备用位置导入模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8432820/

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