我创建了一个 Pypi 包并上传了。
pyaml 是这个包所需的依赖项,因此我在 setup.py 中添加了以下几行
install_requires=[
"PyYAML >= 6.0",
],
现在我需要将软件包安装在 C: ools 中,所以我使用了这个命令
python -m pip install <packagename==packageversion> -t C:\tools
但在这种情况下,pyaml 安装在同一个文件夹中,C: ools,我需要将它安装在 Python\Python311\Lib 中
有没有办法在不使用requirements.pip单独安装pyaml的情况下做到这一点?
此脚本检查模块名称列表,如果模块尚未导入或在规范中找到,则尝试使用 pip 下载并安装每个包。
import subprocess
import importlib.util
import sys
packages = ["package==<version>", "package==<version>"]
for package in packages:
package_name, package_version = package.split("==")
if package_name in sys.modules:
print(f"{package_name!r} already in sys.modules")
elif (spec := importlib.util.find_spec(package_name)) is not None:
print(f"{package_name!r} found in spec, but not importing")
try:
subprocess.run(["python", "-m", "pip", "install", package])
print(f"Successfully installed {package_name} {package_version}")
except Exception as e:
print(f"Failed to install {package_name} {package_version}: {e}")
else:
print(f"can't find the {package_name!r} package")