我正在尝试使用pip在Ubuntu 17.04上安装pymemcache,但出现以下错误。该模块的安装没有-t选项。但是,我想将模块安装在特定目录中,以便可以打包并上传到Cloud。
有人可以帮我吗?
pip install -t /home/praveen/Code/AWS/Lambda/Memcached-Py pymemcache
Collecting pymemcache
Using cached pymemcache-1.4.3-py2.py3-none-any.whl
Collecting six (from pymemcache)
Using cached six-1.10.0-py2.py3-none-any.whl
Installing collected packages: six, pymemcache
Exception:
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 215, in main
status = self.run(options, args)
File "/usr/lib/python2.7/dist-packages/pip/commands/install.py", line 360, in run
prefix=options.prefix_path,
File "/usr/lib/python2.7/dist-packages/pip/req/req_set.py", line 784, in install
**kwargs
File "/usr/lib/python2.7/dist-packages/pip/req/req_install.py", line 851, in install
self.move_wheel_files(self.source_dir, root=root, prefix=prefix)
File "/usr/lib/python2.7/dist-packages/pip/req/req_install.py", line 1064, in move_wheel_files
isolated=self.isolated,
File "/usr/lib/python2.7/dist-packages/pip/wheel.py", line 247, in move_wheel_files
prefix=prefix,
File "/usr/lib/python2.7/dist-packages/pip/locations.py", line 153, in distutils_scheme
i.finalize_options()
File "/usr/lib/python2.7/distutils/command/install.py", line 289, in finalize_options
raise DistutilsOptionError("can't combine user with prefix, "
DistutilsOptionError: can't combine user with prefix, exec_prefix/home, or install_(plat)base
此问题是由Ubuntu的修补版本中存在的显式-t
选项和隐式--user
选项之间的冲突引起的pip
。这pip
在https://github.com/pypa/pip/issues/3826和https://github.com/pypa/pip/issues/4390的GitHub存储库中进行了描述。
为了避免这种情况,我建议使用virtualenv。步骤如下:
virtualenv
如果尚未安装,请安装:
sudo apt update
sudo apt install virtualenv
创建并激活virtualenv并升级pip
:
virtualenv venv
source venv/bin/activate
pip install -U pip
pymemcache
使用以下-t
选项安装在指定的目录中:
pip install -t /home/praveen/Code/AWS/Lambda/Memcached-Py pymemcache
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句