На 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
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
Буду признателен, если подскажете, как решить эту проблему.
virtualenv venv
для создания виртуальной среды,source venv/bin/activate
для ее активации,sudo apt-get install libgeos-dev libgeos-c1
для установки необходимых библиотек иpip install shapely tzwhere
, и это сработало для меня. Есть проблема с установкой некоторых библиотек на ec2 из-за ограничений памяти. См. этот SO Q/A а>. - person Mark Mikofski   schedule 02.01.2016sudo
для установки пакетов Python в систему Linux. Вместо этого используйтеpython setup.py install --user
или, как я рекомендовал выше, используйте виртуальная среда. Вы можете установитьvirtualenv
с помощьюsudo apt-get install python-virtualenv
. Если вам нужны системные пакеты, используйте системные пакеты сайта. вариант - person Mark Mikofski   schedule 02.01.2016yum install python-shapely
, он должен установить libgeos и любые другие зависимости, которые у вас есть. - person Mark Mikofski   schedule 02.01.2016--user
вне виртуальной среды, либо (B) установите как обычно внутри виртуальной среды, но не то и другое. - person Mark Mikofski   schedule 02.01.2016