Python 如何跨平台安装软件包pipenv,方法取决于平台?

Python 如何跨平台安装软件包pipenv,方法取决于平台?,python,pipenv,shapely,Python,Pipenv,Shapely,我正在尝试使用pipenv将包安装到跨平台项目中。但是,在Windows上,无法使用简单的pipenv安装shapely安装shapely,它会为缺少的依赖dll抛出错误。为此,克里斯托夫·高尔克(Christoph Gohlke)的著名品牌提供了一款预制车轮: [[source]] url = "https://pypi.org/simple" verify_ssl = true name = "pypi" [packages] shapely = {file = "https://down

我正在尝试使用pipenv将包安装到跨平台项目中。但是,在Windows上,无法使用简单的
pipenv安装shapely
安装shapely,它会为缺少的依赖dll抛出错误。为此,克里斯托夫·高尔克(Christoph Gohlke)的著名品牌提供了一款预制车轮:

[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"

[packages]
shapely = {file = "https://download.lfd.uci.edu/pythonlibs/n5jyqt7p/Shapely-1.6.4.post2-cp37-cp37m-win_amd64.whl", sys_platform = "== 'win32'"}

[dev-packages]

[requires]
python_version = "3.7"
这个轮子非常适用于窗户,但只适用于窗户。那么,我如何在PIP文件中指定,只有在平台为linux的情况下,它才能简单地
pipenv安装为shapely

[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"

[packages]
shapely = "==1.6.4.post2"

[dev-packages]

[requires]
python_version = "3.7"
或者使用pipenv不可能做到这一点?或者我是不是要拼凑一个
Pipfile.Windows
文件,让我不幸的Windows同事可以将其重命名为
Pipfile


非常感谢您的指点。

轮子发行版也适用于linux,对不起,我不知道您是linux发行版,但您可以尝试以下方法:

[packages]
# for linux
shapely = {file = "https://files.pythonhosted.org/packages/97/36/1af447160f713d72f35dd7e749788367b7a13285c4af2fbd675128aa4e99/Shapely-1.6.4.post2-cp37-cp37m-manylinux1_x86_64.whl", platform_system="Linux"}

# for windows
shapely_win = {file = "https://download.lfd.uci.edu/pythonlibs/n5jyqt7p/Shapely-1.6.4.post2-cp37-cp37m-win_amd64.whl", platform_system="Windows"}

shapely_-win
name不影响软件包安装

轮子分发也可以使用linux,抱歉,不知道您是linux发行版,但您可以尝试以下方法:

[packages]
# for linux
shapely = {file = "https://files.pythonhosted.org/packages/97/36/1af447160f713d72f35dd7e749788367b7a13285c4af2fbd675128aa4e99/Shapely-1.6.4.post2-cp37-cp37m-manylinux1_x86_64.whl", platform_system="Linux"}

# for windows
shapely_win = {file = "https://download.lfd.uci.edu/pythonlibs/n5jyqt7p/Shapely-1.6.4.post2-cp37-cp37m-win_amd64.whl", platform_system="Windows"}

shapely_-win
name不影响软件包安装

此策略似乎几乎有效,但我发现Windows URL不稳定。我可以自己把它放在某个地方。今天(URL似乎每天都在变化:```[packages]shapely={file=“”,platform_system=“='Linux'}shapely_win={file=“”,platform_system=“=='Windows'}````@cgohlke UCI存储库上的libs没有稳定的URL是真的吗?嗯,看来我不能直接引用那些还没有参与讨论的用户…你绝对可以拥有自己的whl软件包。您可以尝试在本地存储win/lin车轮FLE,并使用
shapely={file=”file://your_local_path_to_pacakage“}
我猜这会让你把它们和你一起分发。这个策略似乎几乎奏效,但我发现Windows URL不稳定。我可以自己把它放在某个地方。今天(URL似乎每天都在变化:```[packages]shapely={file=“”,platform_system=“='Linux'}shapely_win={file=“”,platform_system=“=='Windows'}````@cgohlke UCI存储库上的libs没有稳定的URL是真的吗?嗯,看来我不能直接引用那些还没有参与讨论的用户…你绝对可以拥有自己的whl软件包。您可以尝试在本地存储win/lin车轮FLE,并使用
shapely={file=”file://your_local_path_to_pacakage“}
猜测这将允许您将它们与您的文件一起分发