您可以使用标志指定Python版本(pip install --python-version 3.6 ...),但似乎无法指定是要安装32位还是64位模块。我有一些理论,但是在这一点上我不清楚它的行为。
更具体地说,我想使用PIP.exe使用-t标志指定位置在嵌入式Python区域(没有自己的PIP.exe)中安装模块。
更新:情况似乎是32位Pip安装到32位Python,而64位Pip安装到64位Python。
答案 0 :(得分:1)
您可以使用标志指定Python版本,
您不能。 -t
的选项pip install
设置目标目录,而不是Python版本。
但是您似乎无法指定要安装32位还是64位模块。
pip
是一个Python脚本,它在Python解释器下运行,并且解释器当然知道它是32位还是64位。
更具体地说,我想使用PIP.exe在嵌入式Python区域中安装模块
您可以下载软件包以用于不同的(不同于当前的Python / pip)硬件平台,操作系统和Python版本,但是您不能安装。要安装软件包,您必须具有兼容的pip
。因此,第一件事是为所述嵌入式Python安装pip
。
答案 1 :(得分:0)
如果您正在尝试使用本地pip
从PyPI提取软件包并将其转储到CircuitPython设备等类似设备的文件夹中,则可以尝试以下操作:
pip install \
--no-compile \
--target /your/path \
--python-version=3.5 \
--implementation=py \
--no-binary=:all: \
--no-deps \
adafruit-circuitpython-bmp280
这会将源(模块或包)转储到/your/path
中。 --python-version
仅使用包中的标记,而实际上不检查源。 --implementation=py
将强制其使用纯Python包
较旧的答案,但对某些情况有用
您可以使用标志指定Python版本。
您能澄清一下吗?您是在谈论运行python3.5
还是python3.8
之类的东西吗?那就是Python二进制文件的名称。
您可能还使用Windows,其中you can include -32
or -64
as a suffix指向shebang行中的可执行文件。该行由py
PEP-397 launcher处理。
为消除混淆,best practice不应运行pip install ...
,而应运行python -m pip install ...
。然后,您可以放心pip
和python
用于同一安装(版本,虚拟环境等)
例如,如果我安装了Python 2.7,Python 3.5和Python 3.8,则我的路径上可能会有以下“明确”的二进制文件
python2
python2.7
python3.5
python3.8
但是,还有
python
python3
pip
pip3
这些实际指向的是任何人的猜测,并且可能取决于安装顺序,安装方式以及任何手动路径操作。在某些设置中,pip
可能会安装到(例如)Python 3.5版本,而python
是Python 2.7。如果是这样,如果您运行pip install requests
,那么python -c "import requests"
将会失败。
要在Windows上将其绑定到the launcher,运行py -3.7-32 myscript.py
会使用32位版本的python 3.7(如果存在)运行脚本。如果您需要为其安装软件包,请使用py -3.7-32 -m pip install ...
来确保已安装该软件包,而不要使用pip install ...
来知道谁在哪里。