我正在尝试将python包从私有bitbucket存储库安装到虚拟环境中,但是pip似乎没有安装任何文件。使用以下命令时( norman 是软件包的名称):
pip3 install git+ssh://git@bitbucket.org/mycompany/myrepo.git@develop#egg=norman
安装成功,但是venv/lib/python3.6/site-packages/
中没有 norman 文件夹,因此即使venv/lib/python3.6/site-packages/norman=0.1.0.dist-info
确实存在,也似乎没有安装任何东西。
但是,使用python3 setup.py sdist
创建的tar.gz归档文件,然后使用pip3 install path_to_norman.tar.gz
进行安装,可以完美地完成安装。
在these indications之后,我还尝试以可编辑模式安装软件包:
pip3 install -e git+ssh://git@bitbucket.org/mycompany/myrepo.git@develop#egg=norman
这工作正常,并安装了文件(在venv/src
中),但是我更喜欢以不可编辑的方式安装它。我该怎么做才能使安装以不可编辑的方式工作?
答案 0 :(得分:0)
问题来自远程仓库中未包含的Python __init__.py
文件,因此pip3 install git+ssh...
安装的软件包实际上为空。
在本地计算机上构建归档文件时,显然它们就在其中,而当使用-e
选项时,由于下载了整个仓库,Python脚本还是在那里。
据我所知,当不使用-e
时,pip会创建一个本地可用文件的临时下载,然后正常构建该软件包。由于未下载初始化文件,因此setuptools
无法识别python脚本,因此安装了一个空软件包。