275 次浏览
没有。并且你不应该在 Python 中尝试类似的方法。PHP 中使用自动加载器有充分的理由,那就是每次加载页面时都会从头开始执行 PHP 脚本。操作码可能会被缓存,文件也可能已准备好,但要点仍然是——导入另一个文件实际上意味着确保其内容已加载。在 Python 网络服务中,你的文件不会每次都被重新读取。如果你导入某些内容,它会在应用程序的整个生命周期中被导入。Python 中的自动加载器只会使用一次,而不是在每次请求中使用。所以自动加载器…… 阅读更多
505 次浏览
包含 Python 命令和定义的文件称为模块。这些文件名为 .py,包含 Python 代码,例如 example.py,模块名称为 example。模块用于将大型应用程序分解成更小、更易于管理的文件。使用模块的先决条件是你应该已安装 Python 3 并设置了编程环境。如果你还没有,你可以参考本地编程环境的安装和设置建议。示例 1 让我们来看一个创建简单 Python 模块的示例。让我们…… 阅读更多
3K+ 次浏览
Python 模块通常存储在 Python 文件夹中的 /lib/site-packages 中。如果你想查看 Python 在导入模块时检查哪些目录,可以记录以下内容:>>> import sys >>> print sys.path ['', 'C:\Python27', 'C:\Python27\Lib\site-packages', 'C:\Python27\Lib', 'C:\Python27\DLLs', 'C:\Python27\Lib\lib-tk', 'C:\Python27\Scripts', 'C:\WINDOWS\SYSTEM32\python27.zip', 'C:\Python27\lib\plat-win', 'C:\Python27\lib\site-packages\win32', 'C:\Python27\lib\site-packages\win32\lib', 'C:\Python27\lib\site-packages\Pythonwin']你还可以使用 python -v 命令列出脚本(例如 hello.py)使用的各个模块在系统中的位置。例如,$ python -v hello.py PS C:\Users\Ayush> echo 'import scrapy' > hello.py PS C:\Users\Ayush> python -v hello.py # 安装 zipimport hook import zipimport # 内置 # 已安装 zipimport hook # C:\Python27\Lib\site.pyc 匹配 C:\Python27\Lib\site.py ... 阅读更多
396 次浏览
要动态导入 Python 模块,可以使用 importlib 包的 import_module(moduleName) 函数。你需要将 moduleName 作为字符串。例如,>>> from importlib import import_module >>> moduleName = "os" >>> globals()[moduleName] = import_module(moduleName)如果你想动态导入多个模块,你甚至可以从 for 循环中调用它。例如,>>> import importlib >>> modnames = ["os", "sys", "math"] >>> for lib in modnames: ... globals()[lib] = importlib.import_module(lib)globals() 调用返回一个字典。我们可以将每个库的 lib 键设置为我们在导入模块时返回给我们的对象…… 阅读更多
712 次浏览
你可以使用以下命令安装 libxml2:$ brew install --framework python $ brew install --with-python libxml2 $ brew install --with-python libxslt $ brew link libxml2 --force $ brew link libxslt --force如果你已经安装了 libxml2 但失败了或出现其他错误,你可以卸载它然后重新安装:$ brew unlink libxml2 $ brew uninstall libxml2 $ brew unlink libxslt $ brew uninstall libxslt
814 次浏览
如果你无法在机器上安装模块(因为权限不足),你可以使用 virtualenv 或将模块文件保存在另一个目录中,并使用以下代码允许 Python 在给定的目录中搜索模块:>>> import os, sys >>> file_path = 'AdditionalModules/' >>> sys.path.append(os.path.dirname(file_path)) >>> # 现在 python 也搜索 AdditionalModules 文件夹以导入模块,因为我们已将其设置为 PYTHONPATH。你也可以使用 virtualenv 创建一个隔离的本地 Python 环境。要解决的基本问题是依赖项和版本问题,以及间接的权限问题。想象一下你…… 阅读更多
2K+ 次浏览
是的,你可以在 for 循环内迭代导入 Python 模块。你需要将要导入的模块列表作为字符串。你可以使用内置的 importlib.import_module(module_name) 来导入模块。例如,>>> import importlib >>> modnames = ["os", "sys", "math"] >>> for lib in modnames: ... globals()[lib] = importlib.import_module(lib)globals() 调用返回一个字典。我们可以将每个库的 lib 键设置为我们在导入模块时返回给我们的对象。
208 次浏览
管理 Python 包最常用的方法(如果你不使用系统包管理器,如 homebrew)是使用 setuptools 和 easy_install。它可能已经安装在你的系统上了。像这样使用它:easy_install djangoeasy_install 使用 Python 包索引,这是一个面向 Python 开发人员的惊人资源。四处看看有哪些可用的包。在跨平台安装 Python 模块的更好、更可靠的方法是使用 pip。如果你已从 python.org 安装了 Python 2 >=2.7.9 或 Python 3 >=3.4,你将已经拥有 pip 和 setuptools,但需要升级…… 阅读更多
451 次浏览
这是一个示例项目,展示了组织项目的一种非常好的方法:https://github.com/kennethreitz/samplemod。该项目是关于创建“sample”模块的。目录结构如下:README.rst LICENSE setup.py requirements.txt sample/__init__.py sample/core.py sample/helpers.py docs/conf.py docs/index.rst tests/test_basic.py tests/test_advanced.py README.rst文件:此文件用于简要描述模块、如何设置以及如何使用等。LICENSE:包含许可证文本和任何版权声明。setup.py:它是Python对多平台安装程序和make文件的答案。如果您熟悉命令行安装,那么make && make install 等同于 python setup.py build && python ... 阅读更多
6K+ 浏览量
Python 的每个最新版本都会引入新功能。因此,要检查当前使用的版本,我们需要一种方法来检索它们。如果用户在没有正确版本的情况下实现功能,则可能会产生随机问题。我们可以使用几种不同的方法来检查版本。下面将讨论这些方法。使用Sys模块 使用sys模块,我们可以检索当前的python模块版本。可以使用以下代码行来实现。 import sys print(sys.version) 输出 获得的输出如下所示。 3.10.6 (main, Mar 10 2023, 10:55:28) [GCC 11.3.0] ... 阅读更多