相关疑难解决方法(0)

从脚本导入已安装的包会引发"AttributeError:module has no attribute"或"ImportError:无法导入名称"

我有一个名为的脚本requests.py导入请求包.该脚本无法访问包中的属性,也无法导入它们.为什么这不起作用,我该如何解决?

以下代码提出了一个问题AttributeError.

import requests

res = requests.get('http://www.google.ca')
print(res)
Run Code Online (Sandbox Code Playgroud)
Traceback (most recent call last):
  File "/Users/me/dev/rough/requests.py", line 1, in <module>
    import requests
  File "/Users/me/dev/rough/requests.py", line 3, in <module>
    requests.get('http://www.google.ca')
AttributeError: module 'requests' has no attribute 'get'
Run Code Online (Sandbox Code Playgroud)

以下代码提出了一个问题ImportError.

from requests import get

res = get('http://www.google.ca')
print(res)
Run Code Online (Sandbox Code Playgroud)
Traceback (most recent call last):
  File "requests.py", line 1, in <module>
    from requests import get
  File "/Users/me/dev/rough/requests.py", line 1, in <module>
    from requests import get
ImportError: cannot import name 'get' …
Run Code Online (Sandbox Code Playgroud)

python exception python-module shadowing

43
推荐指数
2
解决办法
1万
查看次数

PyPI是否区分大小写?

PyPI如何处理区分大小写?

例如,这个SO问题记录了PyPI foobar如果FooBar已经存在则拒绝新包.

pip针对pypi.python.org 运行似乎转换为包的规范案例:

$ pip install django
Downloading/unpacking django
  Downloading Django-1.7.tar.gz (7.5MB): 7.5MB downloaded
Run Code Online (Sandbox Code Playgroud)

或者:

$ pip install Django
Downloading/unpacking Django
  Downloading Django-1.7.tar.gz (7.5MB): 7.5MB downloaded
Run Code Online (Sandbox Code Playgroud)

但是,在我的virtualenv中,只有一些文件似乎属于规范案例:

$ ls ~/pyenvs/test_venv/lib/python2.7/site-packages/ | grep -i django
django/
Django-1.7-py2.7.egg-info/
Run Code Online (Sandbox Code Playgroud)

XML-RPC API期望什么?我是否可以一直认为http://pypi.python.org/simple/foohttp://pypi.python.org/simple/FoO都会返回HTTP 200?

PyPI在案例敏感方面的立场是否记录在案?

python pypi

34
推荐指数
1
解决办法
4048
查看次数

标签 统计

python ×2

exception ×1

pypi ×1

python-module ×1

shadowing ×1