PyCharm is locking .egg file ("[Error 5] Access is denied" when running "python setup.py install" as an external tool).

Answered

Hi, I am trying to make some changes in a Python module with Cython code and to see my changes I have to compile the module every time with "python setup.py install". I have the build/compilation process working from an external console, but when I start PyCharm it is completely blocking the .egg file of the module I am trying to work with - I cannot compile it neither from the console, nor using the "external tool" option in PyCharm.

 

After closing PyCharm everything works again in a console.

 

The PyCharm project has the conda environment set up as an interpreter and I am using the same environment when compiling the module which might be causing problems here. Tool settings below:

Program: C:\ProgramData\Anaconda3\envs\<env name>\python.exe

Parameters: setup.py install

Working directory: <path to dir where setup.py sits>

 

Is there any chance to prevent PyCharm from locking this .egg file? It looks like it might be constantly scanning the environment directory for modules/changes or processing the file in some other way.

 

Thanks for looking into this!

 

Edit: system details: Win 10 64 bits, PyCharm Professional 2017.2.4, Python 2.7.14

3 comments
Comment actions Permalink

I encounter this error regularly with Intellij IDEA Ultra using the python plugin. It happens when I'm developing in two different projects where one uses the egg from the other. When I update the project and reinstall I get "error: c:\[...].egg: The process cannot access the file because it is being used by another process". It goes away if I just wait a couple minutes but it's ridiculously annoying.

0
Comment actions Permalink

Hello,

I reported an issue on YouTrack: https://youtrack.jetbrains.com/issue/PY-28687.

Feel free to vote for it and leave comments.

 

0
Comment actions Permalink

Mdziedzic, Jonathan Marzinke, could you please share your example projects in PY-28687?

0

Please sign in to leave a comment.