我设法安装了pip,但是当我使用pip安装下载的轮子时,它会打印:
C:\Python34\Scripts\pip install pygame-1.9.2a0-cp34-none-win_amd64.whl
Requirement 'pygame-1.9.2a0-cp34-none-win_amd64.whl' looks like a filename, but the file does not exist
pygame-1.9.2a0-cp34-none-win_amd64.whl is not a supported wheel on this platform
Run Code Online (Sandbox Code Playgroud)
该文件与pip位于同一文件夹(Scripts)中.
我也尝试过使用该wheel
工具:
C:\Python34\Scripts\wheel install pygame-1.9.2a0-cp34-none-win_amd64.whl
Traceback (most recent call last):
File "C:\Python34\lib\site-packages\wheel\tool\__init__.py", line 358, in main
args.func(args)
File "C:\Python34\lib\site-packages\wheel\tool\__init__.py", line 301, in install_f
args.wheel_dirs, args.force, args.list_files)
File "C:\Python34\lib\site-packages\wheel\tool\__init__.py", line 202, in install
raise WheelError("No such wheel file: {}".format(req))
wheel.tool.WheelError: No such wheel file: pygame-1.9.2a0-cp34-none-win_amd64.whl
During handling of the above exception, another exception occurred: …
Run Code Online (Sandbox Code Playgroud) 为了避免在两个地方指定依赖项,我有一个Python项目,其setup.py解析一个requirements.txt文件以生成install_requires包列表.这很好用,直到我尝试将一个轮子上传到一个devpi服务器然后安装它 - 我得到的错误是找不到requirements.txt.
是否可以使用setup.py旁边的requirements.txt文件构建分发?我已经尝试过package_data和data_files,但生成的发行版仍然没有包含这些文件.
我有一个示例项目:
test/
- __init__.py
- module.py
- setup.py
Run Code Online (Sandbox Code Playgroud)
setup.py 只是
from setuptools import setup
setup(name='test', install_requires=['numpy'])
Run Code Online (Sandbox Code Playgroud)
然后当我调用时pip wheel .
,它会自动为 numpy 制作一个轮子。我可以让它不这样做吗?我的理解是,当您安装轮子时,它会自动下载并安装任何缺少的依赖项。制作我的测试轮需要 numpy 轮吗?
我正在尝试将轮文件的构建集成到 Bamboo 计划中。最终,我想以某种方式将 .whl 文件的版本标签的一部分与 Bamboo 内部版本号联系起来,即版本 0 的预发行版将是 0.dev1、0.dev2、0.dev3(对于连续的版本) 。
旧的 Egg 格式用于允许该--tag_build
选项,这将允许您指定附加到文件中函数version
中定义的参数的标签。该命令显然没有等效的选项。setup
setup.py
bdist_wheel
setup.py
这让我使用 Bamboo 内部版本号变量从脚本运行的希望破灭了。除了将构建脚本转换为 Powershell 或setup.py
动态生成每个构建之外,我正在寻找任何其他建议。
我想pip
从我的驾驶室安装轮子,当且仅当轮子从驾驶室丢失时才回退到 PyPI(通过缓存代理)。
我试图通过调用来实现此目的
pip install -U --index-url $PYPI_PROXY_URL --find-links $WHEELHOUSE_URL \
-r requirements.txt
Run Code Online (Sandbox Code Playgroud)
然而,它并没有确定从哪里获取包,而是从代理的 PyPI 或驾驶室中获取包的来源似乎相当随机,尽管驾驶室拥有所有必需的包。
我希望这是确定性的,并且始终首先选择驾驶室。我怎样才能做到这一点pip
?
我知道--no-index
会强制它仅使用驾驶室,但我想保留对驾驶室丢失的包裹进行后备的能力。
我如何从中制造万向轮setup.py
?我宁愿不要--universal
每次都传递该选项,也不要setup.cfg
仅为此选项创建文件。
我知道/sf/answers/2457856901/中的解决方法,但是有没有一种干净的方法可以在不setup.cfg
临时创建文件的情况下进行此操作?
据我了解,通过轮子分发 Python 包的主要优点之一是我可以以编译形式包含扩展模块。然后,包的用户不需要具有允许编译源代码的系统。
现在我设法为我的包构建了一个轮子,其中包含一个 Fortran 扩展模块。我构建的计算机有 Windows7 64 和 Python 3.6。
为了让一切正常运行,我遵循了这个非常有用的指南(非常感谢 Michael Hirsch)。步骤之一是使用以下设置安装MinGW-64:架构:x86_64,线程:posix,异常:seh。
然后我从那个轮子在另一台测试机器(Win10 64,Python 3.6)上安装了 Python 包:
D:\dist2>pip install SMUTHI-0.2.0a0-cp36-cp36m-win_amd64.whl
Processing d:\dist2\smuthi-0.2.0a0-cp36-cp36m-win_amd64.whl
Requirement already satisfied: scipy in c:\programdata\anaconda3\lib\site-packages (from SMUTHI==0.2.0a0)
Requirement already satisfied: sympy in c:\programdata\anaconda3\lib\site-packages (from SMUTHI==0.2.0a0)
Requirement already satisfied: argparse in c:\programdata\anaconda3\lib\site-packages (from SMUTHI==0.2.0a0)
Requirement already satisfied: numpy in c:\programdata\anaconda3\lib\site-packages (from SMUTHI==0.2.0a0)
Requirement already satisfied: matplotlib in c:\programdata\anaconda3\lib\site-packages (from SMUTHI==0.2.0a0)
Requirement already satisfied: pyyaml in c:\programdata\anaconda3\lib\site-packages (from SMUTHI==0.2.0a0)
Requirement already satisfied: six>=1.10 …
Run Code Online (Sandbox Code Playgroud) pip 是否能够递归搜索文件系统路径并安装包及其依赖项?例如,给定以下文件结构(文件未显示)pip install packageA -f C:\packages\
不起作用。
C:\packages\
C:\packages\packageA\
C:\packages\packageA\1.0.0
C:\packages\packageA\1.0.1
C:\packages\packageB\
C:\packages\packageB\2.2.1
C:\packages\packageB\2.2.4
Run Code Online (Sandbox Code Playgroud)
此外,这些包可以是带有 setup.py 文件的纯源吗?或者它们是否需要是像wheel 或zip 文件这样的二进制文件。最后,有没有办法解决依赖关系?例如,如果 packageA 需要 packageB 的版本,pip 可以从我的文件夹中获取该版本的 packageB 吗?我是否需要 html 文件来指示事物的位置和内容?
我知道我可以将 pip 直接指向本地路径 ( pip install C:\packages\packageA\1.0.0
),但我希望它能够像 PyPI 中提供包一样运行。例如,如果用户键入pip install packageB
或 ,pip install requirements.txt
并且该需求文件包含本地存在但 PyPI 中不存在的包,那么它就会起作用。(我可以在配置文件中设置本地包存储路径,这样 pip 命令就不需要 -f 参数)
基本上,我想使用没有网络服务器的文件系统来复制 PyPI 功能(安全性不允许我们运行一个)。任何见解将不胜感激。
可以为 Linux 、 Windows 等使用相同的 python 包(wheel 文件)吗?我问这个是因为有些包不仅包含 python 文件,还包含 EXE,我假设是 python 代码变成了 exe(至少使用 pip.exe 和 Django 管理工具)。exe 文件是特定于平台的,就像 Windows 和 Linux 有单独的 python 解释器一样,因此出现了一个问题。
我正在使用pip install pythonnet
python 3.8安装 pythonnet 。我遇到了这个ModuleNotFoundError: No module named 'wheel'
错误。我做了一些研究,但找不到解决方法。有没有办法解决这个问题?下面是我得到的错误。
提前致谢!
(c) 2018 Microsoft Corporation. All rights reserved.
C:\Users\user165>cd C://Python38
C:\Python38>pip install pythonnet
Collecting pythonnet
Using cached https://files.pythonhosted.org/packages/4a/0a/5964a5a1fdf207fab8e718edd1f8d3578e0681577fe9abe0d9006f9718c2/pythonnet-2.4.0.tar.gz
ERROR: Command errored out with exit status 1:
command: 'c:\python38\python.exe' -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\user165\\AppData\\Local\\Temp\\pip-install-b8so9ms2\\pythonnet\\setup.py'"'"'; __file__='"'"'C:\\Users\\user165\\AppData\\Local\\Temp\\pip-install-b8so9ms2\\pythonnet\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base pip-egg-info
cwd: C:\Users\user165\AppData\Local\Temp\pip-install-b8so9ms2\pythonnet\
Complete output (5 lines):
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "C:\Users\user165\AppData\Local\Temp\pip-install-b8so9ms2\pythonnet\setup.py", line 18, …
Run Code Online (Sandbox Code Playgroud) python-wheel ×10
python ×9
pip ×5
setuptools ×2
devpi ×1
dll ×1
fortran ×1
mingw ×1
packages ×1
pygame ×1
pypi ×1
python-3.4 ×1
python-3.x ×1
python.net ×1
setup.py ×1