Python 安装tzwhere时的内存错误
在AWS EC2上,我使用以下方法克隆了pytzwhere:Python 安装tzwhere时的内存错误,python,python-2.7,amazon-web-services,setup.py,pytz,Python,Python 2.7,Amazon Web Services,Setup.py,Pytz,在AWS EC2上,我使用以下方法克隆了pytzwhere: sudo git clone --recursive https://github.com/pegler/pytzwhere.git 然后,我尝试使用Python 2.7和: sudo python setup.py install 不幸的是,它停止时出现以下错误: ... Extracting tzwhere-2.2-py2.7.egg to /usr/local/lib/python2.7/site-packages Trac
sudo git clone --recursive https://github.com/pegler/pytzwhere.git
然后,我尝试使用Python 2.7和:
sudo python setup.py install
不幸的是,它停止时出现以下错误:
...
Extracting tzwhere-2.2-py2.7.egg to /usr/local/lib/python2.7/site-packages
Traceback (most recent call last):
File "setup.py", line 32, in <module>
'Topic :: Software Development :: Localization',
File "/usr/lib64/python2.7/distutils/core.py", line 151, in setup
dist.run_commands()
File "/usr/lib64/python2.7/distutils/dist.py", line 953, in run_commands
self.run_command(cmd)
File "/usr/lib64/python2.7/distutils/dist.py", line 972, in run_command
cmd_obj.run()
File "/usr/lib/python2.7/dist-packages/setuptools/command/install.py", line 67, in run
self.do_egg_install()
File "/usr/lib/python2.7/dist-packages/setuptools/command/install.py", line 117, in do_egg_install
cmd.run()
File "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 393, in run
self.easy_install(spec, not self.no_deps)
File "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 623, in easy_install
return self.install_item(None, spec, tmpdir, deps, True)
File "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 672, in install_item
dists = self.install_eggs(spec, download, tmpdir)
File "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 820, in install_eggs
return [self.install_egg(dist_filename, tmpdir)]
File "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 900, in install_egg
os.path.dirname(destination)))
File "/usr/lib64/python2.7/distutils/cmd.py", line 349, in execute
util.execute(func, args, msg, dry_run=self.dry_run)
File "/usr/lib64/python2.7/distutils/util.py", line 309, in execute
func(*args)
File "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 1177, in unpack_and_compile
unpack_archive(egg_path, destination, pf)
File "/usr/lib/python2.7/dist-packages/setuptools/archive_util.py", line 50, in unpack_archive
driver(filename, extract_dir, progress_filter)
File "/usr/lib/python2.7/dist-packages/setuptools/archive_util.py", line 117, in unpack_zipfile
data = z.read(info.filename)
File "/usr/lib64/python2.7/zipfile.py", line 935, in read
return self.open(name, "r", pwd).read()
File "/usr/lib64/python2.7/zipfile.py", line 630, in read
data = self.read1(n)
File "/usr/lib64/python2.7/zipfile.py", line 684, in read1
max(n - len_readbuffer, self.MIN_READ_SIZE)
MemoryError
。。。
将tzwhere-2.2-py2.7.egg提取到/usr/local/lib/python2.7/site-packages
回溯(最近一次呼叫最后一次):
文件“setup.py”,第32行,在
“主题::软件开发::本地化”,
文件“/usr/lib64/python2.7/distutils/core.py”,第151行,在安装程序中
dist.run_命令()
文件“/usr/lib64/python2.7/distutils/dist.py”,第953行,在run_命令中
self.run_命令(cmd)
文件“/usr/lib64/python2.7/distutils/dist.py”,第972行,在run_命令中
cmd_obj.run()
文件“/usr/lib/python2.7/dist-packages/setuptools/command/install.py”,第67行,正在运行
self.do_egg_install()
文件“/usr/lib/python2.7/dist-packages/setuptools/command/install.py”,第117行,在do\u-egg\u-install中
cmd.run()
文件“/usr/lib/python2.7/dist-packages/setuptools/command/easy_-install.py”,第393行,正在运行
自我。易于安装(规范,非自我。无需安装)
文件“/usr/lib/python2.7/dist-packages/setuptools/command/easy\u-install.py”,第623行,在easy\u-install中
返回自安装项(无、规格、tmpdir、deps、真)
文件“/usr/lib/python2.7/dist-packages/setuptools/command/easy\u-install.py”,第672行,在安装项中
dists=self.install_-eggs(规范、下载、tmpdir)
文件“/usr/lib/python2.7/dist packages/setuptools/command/easy_install.py”,第820行,在install_中
return[self.install\u egg(dist\u文件名,tmpdir)]
文件“/usr/lib/python2.7/dist-packages/setuptools/command/easy\u-install.py”,第900行,在install\u-egg中
os.path.dirname(目的地)))
文件“/usr/lib64/python2.7/distutils/cmd.py”,执行中的第349行
util.execute(func、args、msg、dry\u run=self.dry\u run)
文件“/usr/lib64/python2.7/distutils/util.py”,执行中的第309行
func(*args)
文件“/usr/lib/python2.7/dist packages/setuptools/command/easy\u install.py”,第1177行,在解包和编译中
解包_存档(蛋_路径、目标、pf)
文件“/usr/lib/python2.7/dist-packages/setuptools/archive\u util.py”,第50行,在unpack\u-archive中
驱动程序(文件名、提取目录、进度过滤器)
文件“/usr/lib/python2.7/dist packages/setuptools/archive_util.py”,第117行,在unpack_zipfile中
data=z.read(info.filename)
文件“/usr/lib64/python2.7/zipfile.py”,第935行,已读
返回self.open(名称“r”,pwd).read()
文件“/usr/lib64/python2.7/zipfile.py”,第630行,已读
数据=self.read1(n)
read1中的文件“/usr/lib64/python2.7/zipfile.py”,第684行
最大值(n-长度读取缓冲区,自最小读取大小)
记忆者
如果您能指导我如何解决此问题,我将不胜感激。尝试使用虚拟环境和PyPI中的pytzwhere。另外,确保您已经从Ubuntu安装了shapely和libgeos。我使用了以下命令:
virtualenv-venv
来创建虚拟环境,source-venv/bin/activate
来激活它,sudo-apt-get-install-libgeos-dev-libgeos-c1
来安装所需的库和pip-install-shapely-tzwhere
,这对我很有效。由于内存限制,在ec2上安装某些库时出现问题。看这个。你遇到的问题是因为它试图下载setuptools。这就是为什么不应该使用sudo
将Python软件包安装到Linux系统中的经典原因。而是使用或,正如我上面建议的那样,使用虚拟环境。您可以使用sudo-apt-get-install-python-virtualenv
安装virtualenv
。如果您需要系统包,请使用@Mark Mikofski,祝您新年快乐,并感谢您的详细评论。我使用的是AWS Linux,我认为这是Fedora。我尝试了sudo-yum安装libgeos-dev-libgeos-c1。它没有返回可用的libgeos-dev包。没有可用的libgeos-c1包。错误:无事可做。@Mark Mikofski,还有,当我尝试在虚拟环境中安装python setup.py时,它返回以下内容:在/home/ec2 user/.local/lib/python2.7/site-packages//opt/python/run/venv/bin/python-E-c pass TEST FAILED:/home/ec2 user/.local/lib/python2.7/site-packages/中运行安装检查.pth文件支持不支持.pth文件错误:安装目录错误或PYTHONPATH…很抱歉假设Ubuntu和新版本我也祝你新年快乐。看起来像。尝试yum安装python shapely
它应该安装libgeos和任何其他依赖项。