Pycharm does not see files in relative path with ../ - python

I am developing a python project using pycharm. However, the problem is that it refuses to load files in which the relative path includes ../. When I try
self.image = pygame.image.load("../resources/img/prey.png").convert_alpha()
I get:
self.image = pygame.image.load("../resources/img/prey.png").convert_alpha()
pygame.error: Couldn't open ../resources/img/prey.png
The thing is that when running my code from the terminal, it works fine, meaning that the problem is with pycharm.
Now, the problem is that while this originally sounds like many of the other questions in which the directory is not part of the working directory,adding:
import os
print os.getcwd()
from pycharm gives me /media/Storage/System and dev/Code/Cross Platform/python/boids/current
which seems correct with my directory structure being:
./current
./resources
./img
prey.png
./objects
modules_that_I_import.py
./experiments
code_that_I_actually_run.py
The code that runs self.image=pygame.image.load("../resources/img/prey.png").convert_alpha() is in ./objects
I am using Pycharm Community Edition 2016.1.2 on Linux Mint with Python 2.7.
Any help is appreciated.
EDIT
when running os.getcwd from the command line I get /media/Storage/System and dev/Code/Cross Platform/python/boids/current/experiments

Go to Run - Edit Configurations, select your configuration
and change Working directory to /media/Storage/System and dev/Code/Cross Platform/python/boids/current/experiments.

I had the same problem when I moved the python file to another directory. In my case, it was enough to delete the run configuration (Run -> Edit Configurations -> Remove Configuration).

Related

Python PyCharm can't find executables in /usr/local/bin [duplicate]

Recently, I'm unable to use relative paths in my code while using PyCharm. For instance, a simple open('test.txt', 'r') will not work - whereupon I am sure the file exists in the same level as the running py file. PyCharm will return this error.
FileNotFoundError: [Errno 2] No such file or directory:
After reading answers online on StackOverflow, I have tried multiple options including:
Changing test.txt to ./test.txt
Closing project, deleting the .idea folder, open the folder with code.
Reinstalling as well as installing the latest version of PyCharm.
Invalidating caches and restarting.
None of these options have worked for me. Is there someway I can tell PyCharm to refresh the current working directory (or even to see where it thinks the current working directory is)?
Edit: I should note that running the script in a terminal window will work. This appears to be a problem with PyCharm and not the script.
Change:
Run > Edit Configurations > Working directory,
which sets the working directory for a specific project. (This is on a Mac)
I have Pycharm 4.5, so things might have changed a bit.
Try going to Settings > Project > Project Structure
On this dialog, click your folder that has the source code in it, and then click the blue folder in the menu to note it as "source" folder. I believe this fixes a lot of the path issues in Pycharm
Here is the link to "content roots": https://www.jetbrains.com/pycharm/help/content-root.html
Current version 2019.2 somehow ignores "source root" from the "project structure". Here's how to actually enforce it:
Run -> Edit Configurations -> Python -> "Edit Templates" -> fill out "Working Directory"
__file__ refers to file path. So you can use the following to refer file in the same directory:
import os
dirpath = os.path.dirname(__file__)
filepath = os.path.join(dirpath, 'test.txt')
open(filepath, 'r')
In PyCharm, click on "run/edit configurations..."
Then find your script file in the "Python" dropdown menu. Check the "Working Directory" entry and change it if necessary.
EXACT ANSWER TO SOLVE THIS ISSUE ,,
GO TO EDIT CONFIGURATION (just LEFT side of GREEN CODE RUNNER ICON)
click on python (not any specific python script) ONLY SELECT PYTHON
then below right side click on [edit configuration templetes]
select current working dir by going into those blocks
It will change the CWD of all python file that exists in project folder..
then all file will understand the RELATIVE PATH that starts from your actual project name..
i hope this will resolve all your issue related path.
Sometimes it is different. I solved my problem by clicking "Run" at the Pycharm's toolbar and then "Edit Configurations..." and I change my Interpreter to another actual one. Just changing it in the settings does not help, but this opperation already does ;)
I too had the same issue few minutes ago...but,with the latest version of PyCharm it is resolved by simply using the relative path of that file..
For instance, a simple f = open('test', 'r') will work.
A little clarification for mac users. In mac, what #andere said above is correct for setting working directory. However, if your code is in a different folder, say working_dir/src/ (like classic java/scala file structure) in that case you still need to set your Sources Root. In mac's PyCharm this can be done by right clicking on the src/ folder > Mark Directory as > Sources Root. Helped me with lot of similar import issues. Hope this helps someone.

window10 the system cannot find the path specified, but path has been added

I am trying to use windows10's cmd to run a python code. But it shows the system cannot find the path. I have already checked the path in the system, and also using echo %path% from the cmd, the correct directory is shown in the system. But I am still getting this error.
Could anyone please help me out?
Thank you very much
please see the picture here
It may have been added to the path incorrectly. See this page on how to add it to the path: https://superuser.com/questions/143119/how-do-i-add-python-to-the-windows-path
After trying this, restart your computer.
your working directory needs to be the directory in which your program is saved. is your program saved in the python directory? if not then go to the working directory using cd command and then run the python command.
Go to Settings / Apps & features / App execution aliases and make sure the aliases for python's App installer are disabled (Off).

Spyder running script with different working directory to script directory

I have set the Spyder 2.7 preferences as follows: Preferences->Run-> General Settings-> Default working directory is: the script directory.
However for a particular script, spyder sets the working directory to the parent directory.
I have scripts in the same directory which don't exhibit this behaviour and run with the expected wdir.
I don't understand where or how the wdir is being altered from the default for this particular script.
Under 'run' menu-> configure. This gives you an option to set the working directory for each individual script.
I don't have the solution, but I had the exact same problem with a MATLAB script a while ago. It turned out I ran a copy of the script, and it included the path of the original, and set that as the wdir. I ran the original, it worked. If I moved the original, it didn't run because it tried running it from the previous wdir.
I ended up copying the code into a new script-file, which solved it for me.
Perhaps you can try something similar.
Best of luck!

Error running 'filename'. The system cannot find the file specified (PyCharm)

I have a PyCharm project on my Windows, where I am able to run most .py files by pressing Ctrl + Shift + F10 (or running the debugger). In one of the files however I get the error
Error running 'test':
Cannot run program "\opt\anaconda\bin\python" (in directory "..."): CreateProcess error=2, the system cannot find the file specified.`
The test.py file right now only contains print('hello')
I can do this for the other files, and using 'Execute selection in console' also works fine. Given I am on a Windows machine the "\opt\anaconda\bin\python" part looks suspicious, but I don't know how to fix it.
Any help?
Copying the content to another file (e.g. test_2.py) 'fixes' the problem, but since this is a collaborative project this isn't viable.
I think your case is cause by some project environment has changed.
I suggest your open the workspace.xml which located in .idea\, check the parameters in it.
or you can delete the directory ".idea" and re-create the project locate in the original path.
Hope it work
I had the same problem in PyCharm IDE and Windows after adding new libraries and some changes.
I recreated Run/Debug Configurations with these steps (Instead of recreating the whole of project!):
Select Edit Configurations... from top panel in PyCharm IDE
Select these files and press delete for deleting them
Recreate these files likes this images:
Click green arrow or press Ctrl + Shift + F10
This is what I had to do:
Check the .idea/workspace.xml for any old venv references (there are several tags like "SDK_HOME" which store the path to the venv) and update as necessary
Check the .idea/RunConfigurations for any run configs and update them (or delete and recreate as you like)
when I installed the pycharm I had the same issue. for this, you really need to understand the concept of the virtual environment. this error comes because you run the file in another directory in which you do not create any virtual environment.
let's say you create a virtual environment in any folder located at the desktop now you run the files in any other folder located in /user/AppData/any_folder then it will show the error that the system can't find the file specified.
So be sure you run in a file in the same folder in which you created a virtual environment.
I had the same problem after downloading a project from Github. It ended up being a configuration problem.
Creating a new project on Pycharm, pasting the code in it, and using your own configuration should solve the problem.

How to set working directory for projects in PyCharm?

Recently, I'm unable to use relative paths in my code while using PyCharm. For instance, a simple open('test.txt', 'r') will not work - whereupon I am sure the file exists in the same level as the running py file. PyCharm will return this error.
FileNotFoundError: [Errno 2] No such file or directory:
After reading answers online on StackOverflow, I have tried multiple options including:
Changing test.txt to ./test.txt
Closing project, deleting the .idea folder, open the folder with code.
Reinstalling as well as installing the latest version of PyCharm.
Invalidating caches and restarting.
None of these options have worked for me. Is there someway I can tell PyCharm to refresh the current working directory (or even to see where it thinks the current working directory is)?
Edit: I should note that running the script in a terminal window will work. This appears to be a problem with PyCharm and not the script.
Change:
Run > Edit Configurations > Working directory,
which sets the working directory for a specific project. (This is on a Mac)
I have Pycharm 4.5, so things might have changed a bit.
Try going to Settings > Project > Project Structure
On this dialog, click your folder that has the source code in it, and then click the blue folder in the menu to note it as "source" folder. I believe this fixes a lot of the path issues in Pycharm
Here is the link to "content roots": https://www.jetbrains.com/pycharm/help/content-root.html
Current version 2019.2 somehow ignores "source root" from the "project structure". Here's how to actually enforce it:
Run -> Edit Configurations -> Python -> "Edit Templates" -> fill out "Working Directory"
__file__ refers to file path. So you can use the following to refer file in the same directory:
import os
dirpath = os.path.dirname(__file__)
filepath = os.path.join(dirpath, 'test.txt')
open(filepath, 'r')
In PyCharm, click on "run/edit configurations..."
Then find your script file in the "Python" dropdown menu. Check the "Working Directory" entry and change it if necessary.
EXACT ANSWER TO SOLVE THIS ISSUE ,,
GO TO EDIT CONFIGURATION (just LEFT side of GREEN CODE RUNNER ICON)
click on python (not any specific python script) ONLY SELECT PYTHON
then below right side click on [edit configuration templetes]
select current working dir by going into those blocks
It will change the CWD of all python file that exists in project folder..
then all file will understand the RELATIVE PATH that starts from your actual project name..
i hope this will resolve all your issue related path.
Sometimes it is different. I solved my problem by clicking "Run" at the Pycharm's toolbar and then "Edit Configurations..." and I change my Interpreter to another actual one. Just changing it in the settings does not help, but this opperation already does ;)
I too had the same issue few minutes ago...but,with the latest version of PyCharm it is resolved by simply using the relative path of that file..
For instance, a simple f = open('test', 'r') will work.
A little clarification for mac users. In mac, what #andere said above is correct for setting working directory. However, if your code is in a different folder, say working_dir/src/ (like classic java/scala file structure) in that case you still need to set your Sources Root. In mac's PyCharm this can be done by right clicking on the src/ folder > Mark Directory as > Sources Root. Helped me with lot of similar import issues. Hope this helps someone.

Categories