使用pip从本地文件夹为虚拟环境安装Python包
可以从本地文件系统使用pip安装包吗?
我已经运行了 python setup.py sdist
来打包我的项目,这样就生成了一个合适的tar.gz文件。这个文件保存在我的系统中,路径是 /srv/pkg/mypackage/mypackage-0.1.0.tar.gz
。
现在在一个虚拟环境中,我想安装的包可以来自pypi,也可以来自这个特定的本地位置 /srv/pkg
。
这样做可以吗?
附注 我知道我可以直接使用 pip install /srv/pkg/mypackage/mypackage-0.1.0.tar.gz
来安装。这是可行的,但我想知道能不能把 /srv/pkg
这个位置当作pip搜索的另一个地方,这样我只需输入 pip install mypackage
就能找到它。
14 个回答
109
在安装包的页面上,你可以简单地运行下面的命令,其中/srv/pkg/mypackage是包含setup.py文件的文件夹。
pip install /srv/pkg/mypackage
另外1,你也可以从压缩文件中安装它。
pip install ./mypackage-1.0.4.tar.gz
1虽然在问题中提到过,但由于它很受欢迎,所以也被包含在内。
587
那这个呢:
pip install --help
...
-e, --editable <path/url> Install a project in editable mode (i.e. setuptools
"develop mode") from a local project path or a VCS url.
比如说,pip install -e /srv/pkg
这里的 /srv/pkg 是一个文件夹的路径,里面有一个叫 'setup.py' 的文件。
237
我很确定你要找的这个功能叫做 --find-links
选项。
你可以这样做:
pip install mypackage --no-index --find-links file:///srv/pkg/mypackage