TPP*_*PPZ 8 pip setup.py python-3.x transitive-dependency conda
我正在研究一个现有的 Python 3 代码库,它提供了一个,setup.py所以代码被安装为一个 Python 库。我试图让与自己的依赖安装了这个内部库(通常的数据科学的人,例如pandas,pyodbc,sqlalchemy等)。
我希望有这个内部库来处理这些依赖项,并假设如果安装了该库,则假定已安装所有可传递的依赖项。我还想要conda包的 Anaconda ( ) 版本而不是pip版本。
我从 开始requirements.txt,但很快就转移到了这个领域setup.py:
install_requires=[
"pyodbc>=4.0.27",
"sqlalchemy>=1.3.8",
"pandas>=0.25.1",
"requests>=2.22.0",
"assertpy>=0.14",
"cycler>=0.10.0",
]
Run Code Online (Sandbox Code Playgroud)
但是,当我运行安装过程时:
python setup.py install --record installed_files.txtpip install .我看到有一些gcc/ C++ 编译正在进行,显示有关 Python 轮子的日志(我不完全理解 Python 蛋和 Python 轮子的含义,但 AFAIK 如果conda可用,那么我应该使用该conda版本而不是蛋/轮子因为那样我就不必处理 Python 代码下面的 C++ 代码了)。
我真的更喜欢必须conda安装这些包含在一些 Python 代码中的 C++ blob 作为库,例如pandas.
conda驱动 中描述的安装过程,setup.py所以我不处理gcc?setup.py)的其他 Python 代码使用其中定义的相同(可传递)依赖项setup.py?无论安装方法如何,我如何确保pandas也安装了 eg 的依赖项?有时我看到运行时未安装numpy的依赖项,但我想避免手动执行此操作(例如使用某些文件)。pandassetup.pyrequirements.txt
pip不了解conda,因此您无法构建可从 conda 通道提取其依赖项的 pip 安装包。
conda不关心setup.py,它使用不同的格式来记录依赖关系。
要使用 来安装代码conda,您应该创建一个 conda 包,并在meta.yaml文件中指定您的依赖项。详细信息请参阅“conda build”的文档。
https://docs.conda.io/projects/conda-build/en/latest/resources/define-metadata.html
| 归档时间: |
|
| 查看次数: |
3711 次 |
| 最近记录: |