pythonpath ubuntu_PYTHONPATH未包含在Ubuntu 16.04上的sys.path中

我想将项目中的Python模块包含到PYTHONPATH中,以便Python解释器可以解析它们并使它们可用于导入.

我的项目文件夹如下所示:

my_project/

module1/

__init__.py

module1.py

module2/

__init__.py

module2.py

我在/etc/bash.bashrc中导出了PYTHONPATH,如下所示:

PYTHONPATH="${PYTHONPATH}:/home/john/my_project/"

重新启动我的shell后,我可以回复它:

$echo $PYTHONPATH

:/home/john/my_project/

然后我启动一个Python命令行,看看sys.path变成了什么:

$source /home/john/my_env/bin/activate

(my_env)$python3

>>> import os

>>> sys.path

['', '/home/john/my_env/lib/python35.zip', '/home/john/my_env/lib/python3.5', '/home/john/my_env/lib/python3.5/plat-x86_64-linux-gnu', '/home/john/my_env/lib/python3.5/lib-dynload', '/usr/lib/python3.5', '/usr/lib/python3.5/plat-x86_64-linux-gnu', '/home/john/my_env/lib/python3.5/site-packages']

您可以清楚地看到,/ home / john / my_project /未包含在内,导入module1将失败.

我能想到的最后一件事是Python无法看到我的PYTHONPATH变量,因此不会将其内容添加到sys.path中.

你们发现我的错误吗?

提前致谢.

解决方法:

从here可以看出:

在bash中使用export为当前shell和从当前shell生成的所有进程设置变量.所以你应该使用:

export PYTHONPATH =“${PYTHONPATH}:/ home / john / my_project /”

标签:python,bash,linux

来源: https://codeday.me/bug/20190527/1165819.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值