2016-09-07 36 views
1

1)OS =的MacOS(埃尔卡皮坦)无法从特定的directoy运行Python脚本。可能是什么原因?

2)使用本机Python安装

3)问题:我在一个被称为 “pythonscripts” 目录写了一个脚本。这不会从这个目录运行。如果我将相同的脚本复制到此目录之上的目录,或者下面的目录或用户的主目录下,它就可以正常运行。我尝试了各种各样的东西,包括将“pythonscripts”重命名为其他名称,我不知道。

提示赞赏。在我的测试输出下面看你自己...

MAC:pythonscripts user1$ cp googlemaps1.py ~ 
MAC:pythonscripts user1$ cp googlemaps1.py ../ 
MAC:pythonscripts user1$ cp googlemaps1.py Learning-Python/ 
MAC:pythonscripts user1$ 
MAC:pythonscripts user1$ cd ../ 
MAC:coding user1$ python googlemaps1.py 
directions_result: <type 'list'> 1 
PERFECT EXECUTION! 
MAC:coding user1$ cd pythonscripts/Learning-Python/ 
MAC:Learning-Python user1$ python googlemaps1.py 
directions_result: <type 'list'> 1 
PERFECT EXECUTION! 
MAC:Learning-Python user1$ cd .. 
MAC:pythonscripts user1$ python googlemaps1.py 
{'and': 3, 'envious': 1, 'already': 1, 'fair': 1, 'is': 3, 'through': 1, 'pale': 1, 'yonder': 1, 'what': 1, 'sun': 2, 'Who': 1, 'But': 1, 'moon': 1, 'window': 1, 'sick': 1, 'east': 1, 'breaks': 1, 'grief': 1, 'with': 1, 'light': 1, 'It': 1, 'Arise': 1, 'kill': 1, 'the': 3, 'soft': 1, 'Juliet': 1} 
Traceback (most recent call last): 
    File "googlemaps1.py", line 8, in <module> 
    from googlemaps import Client 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/googlemaps/__init__.py", line 20, in <module> 
    from googlemaps.client import Client 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/googlemaps/client.py", line 30, in <module> 
    import requests 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/requests/__init__.py", line 64, in <module> 
    from . import utils 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/requests/utils.py", line 24, in <module> 
    from .compat import parse_http_list as _parse_list_header 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/requests/compat.py", line 38, in <module> 
    from urllib2 import parse_http_list 
ImportError: cannot import name parse_http_list 
MAC:pythonscripts user1$ cd 
MAC:~ user1$ python googlemaps1.py 
directions_result: <type 'list'> 1 
PERFECT EXECUTION! 
MAC:~ user1$ 

这让我疯狂!正如你所看到的,除了我保存脚本的原始目录之外,我可以从3个其他位置运行相同的确切脚本。 任何想法?任何人都曾经历过这样的事情? 谢谢,

+2

'pythonscripts'还有什么?一个名为'urllib2.py'的文件,也许? –

+0

@IsmailBadawi没错。你应该把它写成答案。 – augurar

+0

@Ismail Badawi ....你的问题给了我这个问题的提示......是的!我在名为urllib2.py的目录中有一个脚本。直到你问这个问题,我才看到问题,所以谢谢你!问题解决了! – pythonista

回答

0

如果您有一个名为urllib2.py的文件,您必须重命名它。 你不应该像python包/模块那样命名脚本。

+1

让Ismail Badawi为这个答案赢得赞誉会更有礼貌。 – augurar

相关问题