Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python sys.path与控制台和运行时不同_Python - Fatal编程技术网

Python sys.path与控制台和运行时不同

Python sys.path与控制台和运行时不同,python,Python,我有一个简单的程序,job\u admin\u cli.py: import pyhocon import sys print(sys.path) 当我执行它时,我得到以下结果 myapptest-staging-dark-3 33.5.0-jscherman /opt/myapptest/staging/myapptest $ sudo python3 job_admin_cli.py ['/opt/myapptest/staging/myapptest', '/usr/lib/pytho

我有一个简单的程序,
job\u admin\u cli.py

import pyhocon

import sys
print(sys.path)
当我执行它时,我得到以下结果

myapptest-staging-dark-3 33.5.0-jscherman /opt/myapptest/staging/myapptest $ sudo python3 job_admin_cli.py
['/opt/myapptest/staging/myapptest', '/usr/lib/python36.zip', '/usr/lib/python3.6', '/usr/lib/python3.6/lib-dynload', '/usr/local/lib/python3.6/dist-packages', '/usr/lib/python3/dist-packages']
Traceback (most recent call last):
  File "/opt/myapptest/staging/myapptest/job_admin_cli.py", line 1, in <module>
    import pyhocon
ModuleNotFoundError: No module named 'pyhocon'
注意,它现在不仅可以导入
pyhocon
模块,还可以在
sys.path
中打印不同的路径


为什么会这样

您正在使用虚拟环境吗?您在两个示例之间的两个不同用户帐户下运行了
python
——使用
sudo
将第一个示例切换到
root
用户。尝试运行交互式控制台的
sudo python3
,然后重做您的示例。@metatoaster您是对的!为什么会这样?为什么使用sudo运行时不使用相同的路径?可能是因为要解析的
python
二进制文件不同(比较
which python
vs
sudo which python
),或者某些特定的路径。或者,由于您在用户帐户上使用Anaconda,您可能希望查看。
myapptest-staging-dark-3 33.5.0-jscherman /opt/myapptest/staging/myapptest $ python3
Python 3.6.10 |Anaconda, Inc.| (default, Jan  7 2020, 21:14:29)
[GCC 7.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pyhocon
>>>
>>> import sys
>>> print(sys.path)
['', '/opt/myapptest/staging', '/opt/myapptest/staging/miniconda3/envs/myapptest/lib/python36.zip', '/opt/myapptest/staging/miniconda3/envs/myapptest/lib/python3.6', '/opt/myapptest/staging/miniconda3/envs/myapptest/lib/python3.6/lib-dynload', '/opt/myapptest/staging/miniconda3/envs/myapptest/lib/python3.6/site-packages']