【发布时间】:2019-05-08 05:58:51
【问题描述】:
如何在 VisualStudio Code 中为我的工作区正确设置 $PYTHONPATH 变量?
背景信息
我已经安装了两个版本的 GNURadio:
Linux Mint 包管理器在
/usr/lib/python2.7/dist-packages/gnuradio中安装的GNURadio 3.7.11 版由 PyBOMBS 在
/home/tejul/Documents/gr13/default/lib/python2.7/dist-packages/gnuradio安装的GNURadio 3.7.13.4 版(我的前缀目录是~/Documents/gr13/default)
只有在运行setup_env.sh 脚本(其中包括将/home/tejul/Documents/gr13/default/lib/python2.7/dist-packages 添加到$PYTHONPATH)然后在终端中启动python 之后,我才能使用较新版本的GNURadio 版本
tejul@Wacom:~/Documents/gr13/default$ ls
bin etc include lib libexec setup_env.sh share src
tejul@Wacom:~/Documents/gr13/default$ source ./setup_env.sh
tejul@Wacom:~/Documents/gr13/default$ python
Python 2.7.15rc1 (default, Nov 12 2018, 14:31:15)
[GCC 7.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from gnuradio import gr
>>> gr.version()
'3.7.13.4'
>>>
不修改 $PYTHONPATH python - 自然地 - 导入旧版本的 GNURadio。
我想在 VisualStudio 代码中为新版本的 GNURadio 编写、运行和调试 python 脚本。我一直在尝试了解 VSCode 对 python interpreters、workspaces 和 environments 的选择。
据我了解,VSCode 工作区设置python.pythonPath 不应与环境变量$PYTHONPATH 混淆。 python.pythonPath 是用于调试或运行代码的python 解释器 的路径,而$PYTHONPATH 是python 用于搜索模块 的环境变量。
看起来 PyBOMBS 没有将自己的 python 解释器安装到我的前缀目录中。所以我需要将 VSCode 与位于/usr/bin/python2.7 的普通 python 解释器一起使用。所以重新定义 VSCode 的 python.pythonPath 或选择另一个 python 解释器对我没有帮助。
我需要让 VSCode 使用我自己版本的环境变量 $PYTHONPATH,它会告诉我的常规 python 解释器最好从 /home/tejul/Documents/gr13/default/lib/python2.7/dist-packages 导入模块。
问题
在documentation 之后,我在工作区目录中创建了自己的.env 文件,该文件设置了python 应该从中导入模块的位置的优先顺序。唉,对python解释器没有影响。
你能看出我在这里做错了什么吗?我也试过:
- 将 PYTHONPATH 设置为更高一级的文件夹,即
/home/tejul/Documents/gr13/default/lib/python2.7,这没有帮助 - 调用变量
$PYTHONPATH而不是PYTHONPATH,这没有帮助 - 每次更改
.env文件后重新启动 VSCode,这没有帮助 - 在路径字符串周围使用双引号,例如
PYTHONPATH="/home/tejul/Documents/gr13/default/lib/python2.7:/usr/lib/python2.7",这没有帮助
【问题讨论】:
-
我没有设法在 Visual Studio Code 中设置 PYTHONPATH,但我找到了如何让 VSCode 从系统环境变量中继承它。我已将这两行添加到我的 .bashrc 文件中:
# setup python gnuradio environment source/home/tejul/Documents/gr13/default/setup_env.sh自动为每个终端窗口运行setup_env.sh脚本。
标签: visual-studio-code pythonpath gnuradio