使用两个github存储库中定义的两个python库进行实验的标准方法是什么?

2024-10-03 09:19:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在github上试验两个可用的库。这些库提供setup.py文件。通常我用的是pipenv。因此,要从github安装库,我通常会:

pipenv install git+https://github.com/org/repo.git#egg=lib-name

但这会将库安装在虚拟环境的lib文件夹中,如/home/user-name/.local/share/virtualenvs/venv-name/lib。我应该如何使这些库不安装在此lib文件夹中,但可以在我的工作区中使用,在那里我可以对它们进行必要的更改,并在某些py文件中使用?我想在我当前的工作区中简单地克隆两个。但是克隆它们不会安装它们的依赖关系。如何安装它们的依赖项而不将它们安装在lib文件夹中。执行pipenv install .会调用他们的setup.py并只安装他们的依赖项而不安装他们自己吗

还有一个问题:我想仅仅签出存储库并不能使它在我的py文件中可用。假设在签出两个库并创建py文件(并且我已经手动安装了这两个存储库的所有依赖项)之后,我有以下结构:

my_worksace
|
|__ repo1
|     |
|     |__ lib1 
|
|__ repo2
|     |
|     |__ lib2
|
|__ mypyfile1.py
|
|__ mymodule
      |
      |__ mypyfile2.py

然后,我不能直接在{}中使用来自{}和{}的模块,对吗

更新

我尝试将lib1lib2移动到外部,即直接移动到my_workspace文件夹中:

my_worksace
|
|__ repo1 (unused)
|
|__ lib1 (cut pasted from inside repo2)
|
|__ repo2 (unused)
|
|__ lib2 (cut pasted from inside repo2)
|
|__ mypyfile1.py
|
|__ mymodule
      |
      |__ mypyfile2.py

现在我可以在mypyfile1.py内使用它们,但不能在mypyfile2.py内使用它们


Tags: install文件namepygithub文件夹mylib