情况: - 我的project_folder中有一个名为calendar的模块 - 我想使用Python库中的内置Calendar类 - 当我使用日历导入日历时,它会抱怨因为它试图从我的模块加载.
我做了一些搜索,似乎无法找到问题的解决方案.
任何想法,而无需重命名我的模块?
假设我有一个包含模块的包:
SWS/
__init.py__
foo.py
bar.py
time.py
Run Code Online (Sandbox Code Playgroud)
并且模块需要引用彼此包含的功能.似乎我遇到了time.py模块问题,因为有一个标准模块同名.
例如,在我的foo.py模块需要我SWS.time和标准python time 模块的情况下,我遇到麻烦,因为解释器将查看包内部并time.py在它遇到标准time模块之前找到我的模块.
有没有办法解决?这是禁止的情况,模块名称是否应该重复使用?
关于包装哲学的任何解决方案和意见在这里都很有用.
我在PYTHONPATH中的一个目录中有一个自定义模块,其名称与标准库模块之一相同,因此当我import module_name,该模块被加载时.如果我想使用原始标准库模块,有没有办法强制Python从标准库而不是从PYTHONPATH目录导入,除了重命名自定义模块并更改每个引用以指向新名称?
我正在使用Python 2.6.
我只在我的应用程序中使用绝对导入.现在我有这个:
myapp
|
-- myscript
-- json
|
-- anotherscript.py
Run Code Online (Sandbox Code Playgroud)
在myscript中,我有:
import json
import myapp.json.anotherscript
Run Code Online (Sandbox Code Playgroud)
由于Python的相对导入机制,导入json不会导入我想要的内置库,而是将我的自定义json包导入当前命名空间.
有没有办法在Python中禁用相对导入,或至少在这种情况下避免使用它?否则,我将不得不将我的包重命名为与jsonutils没有多大意义的其他东西.
提前致谢.
我在尝试导入urllib2时遇到以下错误:
>>> import urllib2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib64/python2.7/urllib2.py", line 94, in <module>
import httplib
File "/usr/lib64/python2.7/httplib.py", line 69, in <module>
from array import array
ImportError: cannot import name array`
Run Code Online (Sandbox Code Playgroud)
有什么想法吗?
我有一个简单的测试脚本:
import requests
response = requests.get('http://httpbin.org/get')
print response.text
Run Code Online (Sandbox Code Playgroud)
它的工作原理python脚本被命名时,test.py但如果命名失败email.py或logging.py:
Traceback (most recent call last):
File "./email.py", line 3, in <module>
import requests
File "/usr/lib/python2.7/dist-packages/requests/__init__.py", line 53, in <module>
from urllib3.contrib import pyopenssl
File "/usr/lib/python2.7/dist-packages/urllib3/__init__.py", line 16, in <module>
from .connectionpool import (
File "/usr/lib/python2.7/dist-packages/urllib3/connectionpool.py", line 59, in <module>
from .request import RequestMethods
File "/usr/lib/python2.7/dist-packages/urllib3/request.py", line 12, in <module>
from .filepost import encode_multipart_formdata
File "/usr/lib/python2.7/dist-packages/urllib3/filepost.py", line 15, in <module>
from .fields import RequestField
File "/usr/lib/python2.7/dist-packages/urllib3/fields.py", …Run Code Online (Sandbox Code Playgroud) python ×5
import ×3
module ×2
importerror ×1
namespaces ×1
package ×1
python-2.7 ×1
pythonpath ×1