我通过以下方式安装了一个名为 PyRadiomics 的 Python 库:
pip install pyradiomics
当我执行 pip freeze | grep pyra
在命令提示符下,我看到 pyradiomics==2.0.0
清楚地表明该库已安装。
当我启动 python 解释器并执行 import pyradiomics
时,它不起作用。我意识到我需要做 import radiomics
。
我只是碰巧弄明白了这一 pip 。
在使用 pip 安装后,有人应该如何知道如何将库导入到他们的 python 脚本中。目前看来,您可以使用 pip install some_name
安装一个库,并且必须在您的 Python 代码中执行 import some_other_name
。我已经使用 Python 一段时间了,但之前从未遇到过这个问题,这让我假设 some_name
始终与 some_other_name
相同,但我发现这不是案件。
在安装名为 some_name
的库后,人们怎么知道另一个名字是什么
pip
可以列出它安装的任何包的已安装文件:
$ pip show -f packagename
用 bash 做一些简单的输出过滤/转换,你可以很容易地想出一个自定义命令来列出一个包中的所有 Python 包/模块,例如:
$ pip show -f packagename | grep "\.py$" | sed 's/\.py//g; s,/__init__,,g; s,/,.,g'
wheel
包的示例输出:
$ pip install wheel
...
$ pip show -f wheel | grep "\.py$" | sed 's/\.py//g; s,/__init__,,g; s,/,.,g'
wheel
wheel.__main__
wheel.archive
wheel.bdist_wheel
wheel.egg2wheel
wheel.install
wheel.metadata
wheel.paths
wheel.pep425tags
wheel.pkginfo
wheel.signatures
wheel.signatures.djbec
wheel.signatures.ed2551
wheel.signatures.keys
wheel.tool
wheel.util
wheel.wininst2wheel
您甚至可以将其别名为自定义 shell 命令,例如 pip-list-modules
。在您的 ~/.bashrc
(Linux)/~/.bash_profile
(MacOS) 中:
function pip-list-modules() {
pip show -f "$@" | grep "\.py$" | sed 's/\.py//g; s,/__init__,,g; s,/,.,g'
}
测试它:
$ pip-list-modules setuptools wheel pip # multiple packages can passed at once