pip 安装作为源,依赖项分开
pip install as source with dependencies separate
我正在尝试发布一个演示存储库(人们可以在其中直接 运行 python 脚本来演示一些实验)。我还需要包括依赖项(numpy 等)。我想使用 pip 来简化它。
我已经制作了一个 setup.py 文件,其中列出了所有依赖项。我现在想将我的 repo 代码安装到当前目录,并将所有依赖项安装到默认路径(例如 ./venv/lib/python2.7
、venv/src/
等)。
现在,如果我 运行
pip install -e git+http://github.com/petered/my_repo.git#egg=my_repo
一切正常,除了 my_repo
中的代码保存在 /venv/src
中(而我希望它保存在根目录中)。
我也可以运行
pip install -e git+http://github.com/petered/my_repo.git#egg=my_repo --target=.
这会将所有内容安装在根(当前)目录中。但是所有的依赖项也最终都在这个目录中。
如何在当前目录下只安装一个包的源代码,而将所有依赖项都安装在默认目录下?
我的项目通常有一个 setup.py
文件来定义所有依赖项。要在 virtualenv 中安装项目,我首先克隆存储库,然后简单地 install the cloned repository:
git clone http://github.com/petered/my_repo.git .
pip install -e .
这将在原处安装 my_repo
,但将所有依赖项安装到 lib/python2.7/site-packages/
。
您会注意到,此布局使得以后可以将 my_repo
发布到 PyPI,或者如果您希望将其作为依赖项安装到 lib/...
中,因为库本身没有关于它是如何安装的想法。
每当我有多个 "private dependencies"(闭源,仅在我们的 git 服务器上可用)时,我都会编写安装说明,例如
git clone http://github.com/petered/my_repo.git
git clone http://github.com/petered/my_repo_dependency_1.git
git clone http://github.com/petered/my_repo_dependency_2.git
pip install -e my_repo_dependency_1
pip install -e my_repo_dependency_2
pip install -e my_repo
在自述文件中。这将安装所有私有依赖项,但在 lib/python2.7/site-packages/
.
中安装所有 public PyPI 依赖项
我正在尝试发布一个演示存储库(人们可以在其中直接 运行 python 脚本来演示一些实验)。我还需要包括依赖项(numpy 等)。我想使用 pip 来简化它。
我已经制作了一个 setup.py 文件,其中列出了所有依赖项。我现在想将我的 repo 代码安装到当前目录,并将所有依赖项安装到默认路径(例如 ./venv/lib/python2.7
、venv/src/
等)。
现在,如果我 运行
pip install -e git+http://github.com/petered/my_repo.git#egg=my_repo
一切正常,除了 my_repo
中的代码保存在 /venv/src
中(而我希望它保存在根目录中)。
我也可以运行
pip install -e git+http://github.com/petered/my_repo.git#egg=my_repo --target=.
这会将所有内容安装在根(当前)目录中。但是所有的依赖项也最终都在这个目录中。
如何在当前目录下只安装一个包的源代码,而将所有依赖项都安装在默认目录下?
我的项目通常有一个 setup.py
文件来定义所有依赖项。要在 virtualenv 中安装项目,我首先克隆存储库,然后简单地 install the cloned repository:
git clone http://github.com/petered/my_repo.git .
pip install -e .
这将在原处安装 my_repo
,但将所有依赖项安装到 lib/python2.7/site-packages/
。
您会注意到,此布局使得以后可以将 my_repo
发布到 PyPI,或者如果您希望将其作为依赖项安装到 lib/...
中,因为库本身没有关于它是如何安装的想法。
每当我有多个 "private dependencies"(闭源,仅在我们的 git 服务器上可用)时,我都会编写安装说明,例如
git clone http://github.com/petered/my_repo.git
git clone http://github.com/petered/my_repo_dependency_1.git
git clone http://github.com/petered/my_repo_dependency_2.git
pip install -e my_repo_dependency_1
pip install -e my_repo_dependency_2
pip install -e my_repo
在自述文件中。这将安装所有私有依赖项,但在 lib/python2.7/site-packages/
.