草庐IT

python - 直接在包的命名空间中公开 Python 包内模块内的类

我有一个wxPython应用程序,在一个名为gui的包中,各种GUI类在它们自己的模块中.使用此设置,导入主窗口将按如下方式完成:fromgui.mainwindowimportMainWindow这对我来说看起来很乱,所以我更改了__init__.pygui的文件package将类直接导入包命名空间:frommainwindowimportMainWindow这允许我像这样导入主窗口:fromguiimportMainWindow这在我看来在美学上更好,我认为它也更接近地代表了我正在做的事情(从MainWindow“namespace”导入gui类)。我制作gui的原因package

python - Python 2.7 和 3.4 导入包的区别

对于这个目录层次结构:.├──hello│  ├──__init__.py│  └──world│  └──__init__.py└──test.py和Python源文件:测试.py:if__name__=='__main__':importhello你好/__init__.py:importworld你好/世界/__init__.py:print("yesyouwin")用Python3.4运行test.py会抛出ImportError说找不到模块world,但是用Python2.7一切正常。我知道在搜索导入模块时引用了sys.path,所以将目录hello添加到sys.path消除

python - 单模块 Python 包的命名有规则吗?

我给Python包中的单独模块的名称是否应该与包的名称匹配?例如,如果我有一个包含具有结构的单个模块的包super-duper/super/__init.py___mycode.py...我可以在PyPi上创建一个包super-duper,安装后,site-packages中将有两个名称不匹配的文件夹:super/super_duper-1.2.3.dist-info/这意味着要导入我使用的项目importsuper而不是实际的包名(super_duper)这似乎违反了遵循该模式的常见做法(从我在site-packages中看到的早期每个其他包的文件夹判断)same_name/same

python - 如何在 Python 中找到任何包的 "import name"?

我想知道是否有任何可靠且一致的方法来获取Python包的“导入名称”/命名空间。例如;打包;django-haystack导入名称;干草堆或打包;ipython导入名称;IPython到目前为止,我知道PyPi不会存储我用PyPiXmlRpc检查过的信息。我还尝试自动下载包、解压缩并挖掘.egg-info,但有些包根本没有该文件夹。任何帮助将不胜感激,并将用于礼貌的小工具:) 最佳答案 轮子我知道这是一个老问题,但是wheel包已经被发明出来了!由于wheel只是一个被提取到lib/site-packages目录中的zip文件,检查

python - python命名空间包的当前状态

我想在一个主模块中有几个python子模块,但我想将它们作为单独的python包分发。所以包A应该提供'my_data.source_a',包B应该提供'my_data.source_b',...等等。我发现我必须为此使用命名空间包,但在尝试弄清楚细节时,我发现了多个涵盖该问题的PEP。PEP420似乎是最新的,它建立在PEP402和PEP382的基础上。对我而言,不清楚不同PEP和实现的状态。所以我的问题是:是http://pythonhosted.org/distribute/setuptools.html#namespace-packages仍然可行,或者我应该如何构建命名空间包

python easy_install 因所有包的 SSL 证书错误而失败

目标:我正在使用RedHat5并尝试为网络应用程序安装最新的python和django。我成功地安装了python27和easy_install,以及带有openssl的wget。问题:但是,现在我尝试从pypi.python.org获取任何内容时,出现以下错误:$sudoeasy_install--verbosedjangoSearchingfordjangoReadinghttps://pypi.python.org/simple/django/Downloaderroronhttps://pypi.python.org/simple/django/:[Errno1]_ssl.c:

python - 在不导入 asyncio 包的情况下启动异步功能

是否可以启动这样的功能asyncdeffoo():whileTrue:print("Hello!")没有导入asyncio包(并获取事件循环)?我正在寻找一种类似于Go的goroutines的原理,其中可以仅使用go语句启动协程。编辑:我不导入asyncio包的原因仅仅是因为我认为应该可以在没有事件循环的情况下启动协程(显式)。我不明白为什么asyncdef和类似语句是核心语言的一部分(甚至是语法的一部分),而启动创建的协程的方式只能通过包提供。 最佳答案 当然可以在不显式使用asyncio的情况下启动async函数。毕竟,asyn

python - Python 中特定于包的导入 Hook

我正在创建一个Python模块,将不同语言/框架提供的API映射到Python。理想情况下,我希望将其呈现为一个单独的根包,它公开辅助方法,并将该其他框架中的所有命名空间映射到Python包/模块。为了方便起见,我们以CLR为例:importclr.System.Dataimportclr.System.Windows.Formsclr是神奇的顶级包,它公开了CLR命名空间System.Data和System.Windows.Forms子包/子模块(据我所知,一个包只是一个带有子模块/包的模块;其中包含其他类型的成员仍然有效。我读过PEP-302并编写了一个简单的原型(prototyp

python - 使用子包设置 python 包的正确方法

我正在尝试在python中设置一个包含子包的包。这是我目前的树结构:myPackage├──__init__.py├──mySubPackage1│  ├──foo2.py│  ├──foo.py│  └──__init__.py├──mySubPackage2│  ├──bar2.py│  ├──bar.py│  └──__init__.py└──setup.py所有__init__.py都是空的。这是我的setup.py:fromdistutils.coreimportsetupif__name__=="__main__":setup(name='myPackage',packag

ios - 如何将文件添加到主包的/Library/Sounds 目录?

根据Apple'sdocumentation,~/Library/Sounds中的声音文件将在尝试播放声音时由系统搜索。如何将声音文件添加到此文件夹?我试图在运行时写入文件夹,但没有权限。我在xcode中添加了一个Library/Sounds文件夹,但它似乎没有复制过来。xcode->窗口->设备,选择我的应用程序并显示容器,文件夹不存在为了添加一些上下文,我正在为解析推送通知制作自定义声音。服务器人员告诉我,当向许多用户广播时,在有效负载中为每个用户发送自定义声音字符串太困难了。作为解决方法,我尝试使用单个声音文件,每次用户选择新声音时该文件都会被动态覆盖。因此声音文件需要由系统自动