Python:系统变量路径已更改,与 sys.path 中的值不匹配
Posted
技术标签:
【中文标题】Python:系统变量路径已更改,与 sys.path 中的值不匹配【英文标题】:Python: System variable path is altered, doesn't match values in sys.path 【发布时间】:2016-03-23 13:57:06 【问题描述】:我有一个脚本“splash.py”存储在 C:\Users\cedwards\saved_scripts
我已经在系统变量中的变量“Path”(环境变量)中添加了这个目录
当我打印 sys.path 中的所有值时,我得到 ..
>>> import sys
>>> for val in sys.path:
... print val
...
C:\Python27\lib\site-packages\openpyxl-2.3.2-py2.7.egg
C:\Python27\lib\site-packages\et_xmlfile-1.0.1-py2.7.egg
C:\Python27\lib\site-packages\jdcal-1.2-py2.7.egg
C:\Python27\Lib
*C:\Python27\Scripts\* C:\Python27\DLLs
*C:\Python27\Scripts\* C:\Python27\Lib\lib-tk
*C:\Python27\Scripts\* C:\Users\cedwards\saved_scripts
C:\WINDOWS\system32\python27.zip
C:\Python27\DLLs
C:\Python27\lib\plat-win
C:\Python27\lib\lib-tk
C:\Python27
C:\Python27\lib\site-packages
C:\Python27\lib\site-packages\win32
C:\Python27\lib\site-packages\win32\lib
C:\Python27\lib\site-packages\Pythonwin
C:\Python27\lib\site-packages\wx-2.8-msw-unicode
>>>
斜体中的值不应该在那里吗?我在 PATH 中输入的值是“C:\Python27\lib\site-packages\openpyxl-2.3.2-py2.7.egg;C:\Python27\lib\site-packages\et_xmlfile-1.0.1-py2。 7.egg;C:\Python27\lib\site-packages\jdcal-1.2-py2.7.egg;C:\Python27\Lib;C:\Python27\DLLs;C:\Users\cedwards\saved_scripts;C: \WINDOWS\system32\python27.zip;C:\Python27\lib\plat-win;C:\Python27\lib\lib-tk;C:\Python27;C:\Python27\lib\site-packages;C:\ Python27\lib\site-packages\win32;C:\Python27\lib\site-packages\win32\lib;C:\Python27\lib\site-packages\Pythonwin;C:\Python27\lib\site-packages\wx -2.8-msw-unicode"
很明显,当我尝试在新脚本中导入 splash 时它不起作用。
我的问题是,为什么 *C:\Python27\Scripts* 会重复?我认为这是阻止我的模块被导入的原因。
【问题讨论】:
能否请您编辑并添加此内容并查看:`C:\Users\cedwards\saved_scripts\`,这是末尾的额外斜线。这在很多情况下都是问题。sys.path
在python中不反映环境变量PATH
而是PYTHONPATH
。
powersource97 - 尝试添加一个额外的斜线,仍然无法正常工作
Klaus D. - 然后我要更改 PYTHONPATH 吗?系统变量下没有这样的名称。我要加一个吗?
【参考方案1】:
我添加了一个名为 PYTHONPATH 的用户变量,其中包含我原始问题中所述的值,它可以工作。
我不应该将它添加到系统变量中的 PATH 中
【讨论】:
以上是关于Python:系统变量路径已更改,与 sys.path 中的值不匹配的主要内容,如果未能解决你的问题,请参考以下文章