草庐IT

python - 如何导入 Python 命名空间包的所有子模块?

Python命名空间包可以分布在许多目录、zip文件或自定义导入程序中。迭代命名空间包的所有可导入子模块的正确方法是什么? 最佳答案 这是一种适合我的方法。创建一个新的子模块all.py,例如,在命名空间中的一个包中。如果你写importmynamespace.all你得到了mynamespace模块的对象。该对象包含命名空间中所有已加载的模块,无论它们在哪里加载,因为周围只有一个mynamespace实例。所以,只需加载all.py中命名空间中的所有包即可!#all.pyfrompkgutilimportiter_modules#

python - 无需包的快速矩阵求逆

假设我有一个正方形matrixM。假设我想invert矩阵M。我正在尝试使用gmpy2中的分数mpq类作为我的矩阵M的成员。如果你不熟悉这些分数,它们在功能上类似于python的内置包fractions.唯一的问题是,除非我将它们从分数形式中取出,否则没有任何包可以反转我的矩阵。我需要分数形式的数字和答案。所以我将不得不编写自己的函数来反转M。有一些我可以编写的已知算法,例如gaussianelimination.但是,性能是一个问题,所以我的问题如下:是否有计算速度快的算法可用于计算矩阵M的逆? 最佳答案 关于这些矩阵,你还知道其

python - py2app 在构建过程中获取包的 .git 子目录

我们在我们的设施中广泛使用py2app来生成自包含的.app包,以便在没有依赖性问题的情况下轻松进行内部部署。我最近注意到但不知道它是如何开始的,是在构建.app时,py2app开始包含我们主库的.git目录。例如,commonLib是我们的根python库包,它是一个git存储库。该包下是数据库、实用程序等各种子包。commonLib/|-.git/#becausecommonLibisagitrepo|-__init__.py|-database/|-__init__.py|-utility/|-__init__.py#...etc在给定的项目中,比如Foo,我们将执行类似from

python - 如何在不在 PyCharm 中重新加载包的情况下在 Python 控制台中进行调试?

PyCharm运行交互式Python控制台(在我的例子中是IPython),但是当我更改代码时,PyCharm不会重新导入我一直在编辑的模块,因此控制台运行旧代码。更重要的是,如果我通过Runsetup.pyTask安装了一个旧包,Python在importmymoduleasmm之后导入旧的在控制台中。一种解决方法是编辑文件中的代码并在没有交互式控制台的情况下重新运行它,但这不是一个非常优雅的解决方案。如何使交互式控制台保持最新并即时更新模块? 最佳答案 我目前在Pycharm4.0.6中使用Python3.4.3,并基于上面An

python - 在我的包的子包中运行 python 脚本

在找出正确的python2.x首选方式进行相对导入时遇到了一些问题,这样我就可以将测试脚本放在一个子包中,并让这些测试脚本能够测试我的图书馆。$farm\testpad\testpad.pyTraceback(mostrecentcalllast):File"C:\farm\testpad\testpad.py",line4,infrom..animals.dogimportdogValueError:Attemptedrelativeimportinnon-package$python-mfarm\testpad\testpadC:\Python27\python.exe:Nomod

python - Pypi:我可以声称自己是未维护包的新维护者吗?

我最近在一个名为"django-hstore"的python包上做了很多工作(链接到我的repo:https://github.com/nemesisdesign/django-hstore),pypi上发布的最新版本已经发布了more比一年前(链接到pypi:https://pypi.python.org/pypi/django-hstore/1.1.1),但非常奇怪的是,pipy上链接的github存储库不是原作者。此外,这个github用户似乎没有使用其github帐户(https://github.com/aino/django-hstore)进行任何提交。到目前为止,他还没有

使用 mujoco-py 包的 MuJoCo 物理库的 Python 绑定(bind)

我想使用MuJoCo(http://www.mujoco.org/),一个带有python绑定(bind)的高级物理模拟器(https://github.com/openai/mujoco-py)。我有我的MuJoCo许可证文件mjkey.text并相应地将所需路径MUJOCO_PY_MJKEY_PATH、MUJOCO_PY_MJPRO_PATH添加到环境变量。MUJOCO_PY_MJPRO_PATH=C:\Dropbox\PhD\MuJoCo\mjpro131MUJOCO_PY_MJKEY_PATH=C:\Dropbox\PhD\MuJoCo\mjpro131\bin但是,一旦我想使

python - 如何从包的更深部分访问 __init__.py 变量

对于另一个__init__.py问题,我深表歉意。我有以下包结构:+contrib+--__init__.py|+database+--__init__.py|+--connection.py在顶层__init__.py我定义:USER='me'。如果我从命令行importcontrib,那么我可以访问contrib.USER。现在,我想从connection.py访问contrib.user但我做不到。当我发出fromcontrib.databaseimportconnection时调用顶层__init__.py,因此Python实际上是在创建参数USER.所以问题是:如何从chil

Python——从不是包的目录导入模块

我有一个这样的目录结构...dir/build.pydir2dir3/packages.py现在build.py需要packages.py--请注意dir2不是包。那么如何将packages.py加载到build.py中最好的方法是什么(目录结构不能改变)编辑sys.path.append解决方案似乎不错——但有一件事——我需要很少使用packages.py文件——并且保持sys.path包含一个很少使用但位于最前面的目录-这是最好的东西吗?编辑二我认为imp解决方案是最好的。importimppackages=imp.load_source('packages','/path/to/

python - 分发需要最小 Python 版本的 Python 包的最佳方法是什么

我有一个Python2项目('foo0.1.7')需要Python2.4或更高版本。现在我将它移植到Python3('foo0.2.0'),它仍然与Python2兼容,但现在要求提升到Python2.6或更高版本。我知道setup.py有一个--target-version=2.6选项,可以与upload一起使用,但这似乎不是这个意思为“2.6或更高”setup命令有一个install_requires选项,但这是针对必需的包,而不是Python解释器。我可以在“foo0.2.0”的setup.py中做这样的事情:ifsys.hexversion但我更希望easy_installfoo