为什么export PYTHONPATH=$PYTHONPATH 将当前工作目录放在系统路径?
2021/11/5 14:39:44
本文主要是介绍为什么export PYTHONPATH=$PYTHONPATH 将当前工作目录放在系统路径?,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
在修改以冒号分隔的环境变量时,例如 PYTHONPATH、PATH、CPATH、MANPATH、LD_LIBRARY_PATH、PKG_CONFIG_PATH 等......其中一些变量对尾随冒号具有特殊意义,而其他变量则没有。
对于 PYTHONPATH 和 PATH,如果变量之前未设置,可以以不会意外引入尾随(或前导)冒号的方式预先(或附加)新目录:
export PYTHONPATH="/some/path${PYTHONPATH+":"}${PYTHONPATH-}"
解释:
${PYTHONPATH+":"}
扩展为 :
如果设置了 PYTHONPATH,无论 PYTHONPATH 是否为空。
${PYTHONPATH-}
如果设置了将扩展到 PYTHONPATH 的内容,但如果未设置 PYTHONPATH,则 ${PYTHONPATH-}
扩展为空 --- 就像通常的 ${PYTHONPATH}
.
${PYTHONPATH-}
与 ${PYTHONPATH-""}
相同意思是在未设置 PYTHONPATH 时替换 ""(无)。
推荐理由${PYTHONPATH-}
在 ${PYTHONPATH}
这是${PYTHONPATH-}
当 PYTHONPATH 未设置且您的脚本已执行时,不会产生错误 set -u
引发未设置变量的错误。
例如:
export PYTHONPATH=$SPARK_HOME/python:$SPARK_HOME/python/lib/py4j-0.10.7-src.zip:$PYTHONPATH 会引入当前工作目录
[root@node02 ~]# python3 #当前目录为/root
Python 3.7.8 (default, Apr 27 2021, 13:33:25)
[GCC 7.3.1 20180303 (Red Hat 7.3.1-5)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path
['', '/usr/local/spark-2.4.3-bin-hadoop2.7/python', '/usr/local/spark-2.4.3-bin-hadoop2.7/python/lib/py4j-0.10.7-src.zip', '/root', '/usr/local/python3/lib/python37.zip', '/usr/local/python3/lib/python3.7', '/usr/local/python3/lib/python3.7/lib-dynload', '/usr/local/python3/lib/python3.7/site-packages']
export PYTHONPATH="/tmp${PYTHONPATH+":"}${PYTHONPATH-}" 不会引入当前工作目录
[root@node02 ~]# python3 #当前目录为 /root
Python 3.7.8 (default, Apr 27 2021, 13:33:25)
[GCC 7.3.1 20180303 (Red Hat 7.3.1-5)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path
['', '/tmp', '/usr/local/python3/lib/python37.zip', '/usr/local/python3/lib/python3.7', '/usr/local/python3/lib/python3.7/lib-dynload', '/usr/local/python3/lib/python3.7/site-packages']
这篇关于为什么export PYTHONPATH=$PYTHONPATH 将当前工作目录放在系统路径?的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-25Python编程基础:变量与类型
- 2024-11-25Python编程基础与实践
- 2024-11-24Python编程基础详解
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程
- 2024-11-17在FastAPI项目中添加一个生产级别的数据库——本地环境搭建指南
- 2024-11-16`PyMuPDF4LLM`:提取PDF数据的神器