这是我最终使用的解决方案:
import pip
def install(package):
# Debugging
# pip.main(["install", "--pre", "--upgrade", "--no-index",
# "--find-links=.", package, "--log-file", "log.txt", "-vv"])
pip.main(["install", "--upgrade", "--no-index", "--find-links=.", package])
if __name__ == "__main__":
install("mypackagename")
raw_input("Press Enter to Exit...\n")
我从pip install examples以及Rikard's answer on another question拼凑起来。“--pre”参数允许您安装非生产版本。“--no-index”参数避免搜索 PyPI 索引。“--find-links=.” 参数在本地文件夹中搜索(这可以是相对的或绝对的)。我使用“--log-file”、“log.txt”和“-vv”参数进行调试。“--upgrade”参数允许您安装较旧版本的较新版本。
我还找到了卸载它们的好方法。当您有多个不同的 Python 环境时,这很有用。这是相同的基本格式,只是使用“卸载”而不是“安装”,并采取了安全措施来防止意外卸载:
import pip
def uninstall(package):
response = raw_input("Uninstall '%s'? [y/n]:\n" % package)
if "y" in response.lower():
# Debugging
# pip.main(["uninstall", package, "-vv"])
pip.main(["uninstall", package])
pass
if __name__ == "__main__":
uninstall("mypackagename")
raw_input("Press Enter to Exit...\n")
本地文件夹包含以下文件:install.py、uninstall.py、mypackagename-1.0.zip