在当前目录安装Python包

26

我是Mac用户,过去使用--user运行pip install,但最近在brew update之后发现一些奇怪的事情,可能有关联。

无论我尝试什么,这些包总是安装到~/Library/Python/2.7/lib/python/site-packages

以下是我运行的命令。

$ python -m site --user-site
~/Library/Python/2.7/lib/python/site-packages

$ pip install --user -r requirements.txt

$ PYTHONUSERBASE=. pip install --user -r requirements.txt

问题应该是什么?

我使用了lambda zip打包

更新:

如果您使用的是Mac OS X,并且您已经使用Homebrew(请参阅Homebrew)安装了Python,则接受的命令将无法正常工作。一个简单的解决方法是在您的/path/to/project-dir中添加一个setup.cfg文件,并填入以下内容。

[install]
prefix=

https://docs.aws.amazon.com/lambda/latest/dg/lambda-python-how-to-create-deployment-package.html


你为什么不使用virtualenv呢? - tripleee
您希望将文件安装到哪里?~/Library/Python/2.7/lib/python/site-packages不是已经针对用户进行了特定设置吗? - FlyingTeller
正如我所解释的,我已经安装了Lambda的zip打包。它们需要安装在当前目录中,并将其与Lambda函数一起压缩。 - Bill
1个回答

44
您可以使用 pip install 命令的 目标(t)标志 指定安装的目标位置。
示例:
pip install -r requirements.txt -t /path/to/directory

到当前目录:

pip install -r requirements.txt -t .

谢谢,这是我在运行您的命令时遇到的错误:DistutilsOptionError: must supply either home or prefix/exec-prefix -- not both - Bill
也许与此有关: https://dev59.com/3mAf5IYBdhLWcg3w0VQe - Bill
很好,上面的URL修复了“DistutilsOptionError”错误,现在我可以在本地安装包了。 - Bill

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接