Unable to install Developer Tools on Plone 4.3.1 Windows

840 Views Asked by At

I'm on Windows 7 SP1 64-bit with a fresh install of Plone 4.3.1 using the installer Plone-4.3.1-win64.exe.

Plone and Zope run great. I am also able to install eggs like plone.app.relationfield by appending the package name to buildout.cfg. However when I try to install the developer tools using:

bin\buildout -c develop.cfg

I get the following output:

Unused options for buildout: 'buildout-user' 'need-sudo'.
Updating _mr.developer.
Updating instance.
Updating repozo.
Updating backup.
Updating zopepy.
Updating precompiler.
Compiling Python files.
SyntaxError: ('invalid syntax', ('c:\\plone43\\eggs\\restrictedpython-3.6.0-py2.
6.egg\\RestrictedPython\\tests\\before_and_after27.py', 30, 17, '    x = {y: y f
or y in whatever if y}\n'))

SyntaxError: ('invalid syntax', ('c:\\plone43\\eggs\\restrictedpython-3.6.0-py2.
6.egg\\RestrictedPython\\tests\\security_in_syntax27.py', 6, 13, '    {y: y for
_restricted_name in x}\n'))

Compiling locale files.
Error while compiling c:\plone43\eggs\python_gettext-1.2-py2.6.egg\pythongettext
\tests\test5.po
Error while compiling c:\plone43\eggs\python_gettext-1.2-py2.6.egg\pythongettext
\tests\test_escape.po
Updating run-instance.
Updating service.
Updating test.
Updating diazotools.
Installing zopeskel.
Getting distribution for 'zopeskel.diazotheme==1.1'.
warning: no previously-included files matching '*' found under directory 'docs\_
build\_sources'
error: Setup script exited with error: Setup script exited with error: Setup scr
ipt exited with error: SandboxViolation: open('build\\lib\\paste\\evalexception\
\media\\MochiKit.packed.js', 'wb') {}

The package setup script has attempted to modify files on your system
that are not within the EasyInstall build area, and has been aborted.

This package cannot be safely installed by EasyInstall, and may not
support alternate installation locations even if you run its setup
script by hand.  Please inform the package's author and the EasyInstall
maintainers to find out if a fix or workaround is available.
An error occurred when trying to install zopeskel.diazotheme 1.1. Look above thi
s message for any errors that were output by easy_install.
While:
  Installing zopeskel.
  Getting distribution for 'zopeskel.diazotheme==1.1'.
Error: Couldn't install: zopeskel.diazotheme 1.1
*************** PICKED VERSIONS ****************
[versions]

*************** /PICKED VERSIONS ***************

I am mainly trying to install zopeskel and the zopeskel.dexterity templates which also fail the same way if I comment out zopeskel.diazotheme. In fact, I can get everything to install except zopeskel.diazotheme and zopeskel.dexterity if I comment them out. The above RestrictedPython syntax errors remain but don't seem to affect anything.

This is all out-of-the-box configuration stuff. I've been searching and trying everything I can think of including reinstallation. I've worked with Plone of and on for years but I'm out of ideas on this one.

Any help is appreciated.

1

There are 1 best solutions below

2
On BEST ANSWER

I finally solved this issue but I still don't know what the exact problem is. It has something to do with easy_install and directory access - possibly to temp directories and possibly because of some kind of race condition that happens during the buildout process.

The summary of the solution is to install everything in the stock develop.cfg file EXCEPT for zopeskel.diazotheme and zopeskel.dexterity. There is also a bug with the distribution of DocFinderTab buildout tries to download. it's an empty zip file.

This approach was followed on both the Windows 7 64-bit configuration mentioned in the question as well as a Windows XP SP3 32-bit machine. In both cases, the Plone 4.3.1 windows installer was used as per the latest Plone website recommendation of May 20, 2014. There is no windows installer for the latest Plone 4.3.3 so the path is to use the 4.3.1 isntaller and upgrade Plone after installing. I did not upgrade before installing these packages. Both Linux and/or OSX have my permission to eradicate Windows from the planet yet it persists.

Here's the steps:

  1. Open the Windows Service Manager and stop the Plone 4.3.1 service.
  2. Set the Plone 4.3.1 service to manual start so there's no funny business at any point.
  3. Open C:\Plone43\buildout.cfg in a text editor that can handle unix line endings.
  4. Find the eggs variable around line 80 and add plone.app.relationfield to the list:

    eggs = Plone Pillow Products.PloneHotfix20130618 plone.app.relationfield

  5. Save buildout.cfg

  6. From a command prompt in c:\Plone43 run:

    bin\buildout -n

  7. Ignore any errors and warnings.
  8. From PyPI, download the DocFinderTab 1.0.5 zip package to C:\Plone43\downloads\dist
  9. In a text editor (not Notepad), open C:\Plone43\develop.cfg
  10. Locate the [zopeskel] part around line 144.
  11. Comment out zopeskel.diazotheme and zopeskel.dexterity:
[zopeskel]
# installs paster and Zopeskel
recipe = zc.recipe.egg
eggs =
    ZopeSkel
    Paste
    PasteDeploy
    PasteScript
#    zopeskel.diazotheme
#    zopeskel.dexterity
    zest.releaser
    ${buildout:eggs}
  1. Save develop.cfg
  2. From a command prompt in C:\Plone43, run:

    bin\buildout -c develop.cfg

  3. Ignore the numerous errors and warnings - there will be blood.
  4. From PyPI, download the zopeskel.dexterity 1.5.4.1 zip file
  5. Open buildout.cfg in a text editor
  6. Find the [version] part around line 203
  7. Change the version on zopeskel.dexterity from 1.5.2 to 1.5.4.1
  8. Save buildout.cfg
  9. Unzip the zopeskel.dexterity package so all the files are located in C:\Plone43\downloads\dist\zopeskel.dexterity-1.5.4.1.
  10. Make sure you zip tool doesn't also create a sub-directory called zopeskel.dexterity-1.5.4.1. If so, cut and paste that directory up one level and overwrite the other one.
  11. From PyPI, download the zopeskel.diazotheme 1.1 zip package to the dist directory.
  12. Unzip zopeskel.diazotheme the same way you did zopeskel.dexterity.
  13. In a command prompt in c:\Plone43, run the following command:

    bin\buildout -v setup "C:\Plone43\downloads\dist\zopeskel.dexterity-1.5.4.1\setup.py" install

  14. Next run:

    bin\buildout -v setup "C:\Plone43\downloads\dist\zopeskel.diazotheme-1.1\setup.py" install

  15. In the Windows Service Manager, reset the Plone 4.3.1 service to Automatic and start it.

Everything should work now.