一个similar question被问到,但没有被接受的答案,它已经被问到8年前,Python现在是3.11而不是3.4。
关于pip documentation:
--prefix <dir>
Installation prefix where lib, bin and other top-level folders are placed
-t, --target <dir>
Install packages into <dir>. By default this will not replace existing files/folders in <dir>.
Use --upgrade to replace existing packages in <dir> with new versions.
**我试过什么?**当我使用pip install --target=$SOMEDIR
时,我注意到bin/
文件夹以及所有模块文件夹都直接放在$SOMEDIR
中,而当使用--prefix
时,模块文件夹放在$SOMEDIR/lib/python3.11/site-packages/
中。为什么会这样呢?
**我期待什么?**我想从pypi安装一个包,并将其包含在$SOMEDIR
中,而不会干扰全局python安装。
我的问题:pip install --prefix=$SOMEDIR
、pip install --target=$SOMEDIR
甚至PYTHONUSERBASE=$SOMEDIR pip install --user
之间有什么区别,各自的用例是什么?它们似乎都在替代目录中安装了某个包及其依赖项。
谢谢!
1条答案
按热度按时间wfauudbj1#
--target ${SOMEDIR}/target
:PYTHONPATH
需要设置为${SOMEDIR}/target
--prefix ${SOMEDIR}/prefix
:PYTHONPATH
需要设置为${SOMEDIR}/prefix/lib/python3.11/site-packages/