sys.path.insert在终端中无效
我写了一个Python脚本,这个脚本用到了我放在另一个文件夹里的几个库。为了能使用这些库,我在脚本的开头加了以下几行代码:
import sys
sys.path.insert(1, 'library_dir')
在我的Python开发环境中运行时,这样做是没问题的,但当我从终端运行代码时,它却无法导入我需要的库。
我该怎么解决这个问题呢?
2 个回答
0
在运行 Python 脚本之前,需要设置一个叫做 "PYTHONPATH" 的环境变量。这个变量可以告诉 Python 去哪里找它需要的文件。在 bash 这个命令行工具里,你可以这样设置:
$ export PYTHONPATH="/some/default/path:${HOME}/library_dir"
0
这是一个相对路径的问题。
你插入到 sys.path
的路径是相对于你运行脚本的地方的。你的开发环境(IDE)会从某个特定的文件夹运行这个脚本(可能是这个IDE中“项目”的文件夹)。如果你在命令行中从同样的文件夹运行它,应该就能正常工作。
另外,你也可以指定一个绝对路径:
Windows:
sys.path.insert(1, 'c:\\path\\to\\library_dir')
*nix:
sys.path.insert(1, '/path/to/library_dir')