ericaltendorf / plotman

Chia plotting manager
Apache License 2.0
911 stars 280 forks source link

FileNotFoundError: [Errno 2] No such file or directory: 'chia' #155

Closed altendky closed 2 years ago

altendky commented 3 years ago

hi ,i try to working on WSL2. The same problem heppen to me , can you tell me how to fix this proble? thx.

Traceback (most recent call last):
  File "/home/cake/.local/bin/plotman", line 8, in <module>
    sys.exit(main())
  File "/home/cake/.local/lib/python3.8/site-packages/plotman/plotman.py", line 145, in main
    wait_reason = manager.maybe_start_new_plot(cfg.directories, cfg.scheduling, cfg.plotting)
  File "/home/cake/.local/lib/python3.8/site-packages/plotman/manager.py", line 130, in maybe_start_new_plot
    p = subprocess.Popen(plot_args,
  File "/usr/lib/python3.8/subprocess.py", line 854, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.8/subprocess.py", line 1702, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'chia'

Originally posted by @sweetcake2017 in https://github.com/ericaltendorf/plotman/issues/79#issuecomment-825523654

altendky commented 3 years ago

Hi @sweetcake2017, my first guess is that you have not activated the chia virtual environment. The activation instructions used for installation (https://github.com/ericaltendorf/plotman#installation) are also recommended for execution.

To be complete, activation is not _required_ but it is presently the recommended way to help plotman find chia.

Let me know if this helps you get up and running.

sweetcake2017 commented 3 years ago

Yes, the reason is tha i haven't activated the chia virtual environment. After execute 'source activate' , ti tis working now. Thank you very much. At the beginning, i just thinking whether the config file's problem . So i try to find the config file which define the 'chia' directory. I modified the log path to '/home/cake/plotlog', but still not working.

altendky commented 3 years ago

Yes, the error is easily misinterpreted. I might put in a more helpful exception to clarify that... though I also am making efforts to not require activation. Though, it's hard to clearly provide for all the desired and expected use cases to work. Not that hard to implement, just hard to figure out what will confuse the fewest people and make usage the most pleasant.

ebeng commented 3 years ago

I have a similiar issue;

First of all, I couldn't install CHIA as the way it was supposed to be; https://github.com/Chia-Network/chia-blockchain/issues/3799#issuecomment-836910547

So how can I bypass the "activate"? Chia is already working for me and plotting at this moment.

Update; I did install the development; Plotman started a bit;

chiachia@chia:~$ /home/chiachia/.local/bin/plotman plot
...starting plot loop
Found plotting process PID 63858, but could not find logfile in its open files:
/home/chiachia/.chia/mainnet/plotter/plotter_log_dd04ac64-a171-4a2c-9e41-43b6dc5ef7f7.txt
/home/chiachia/.chia/mainnet/plotter/plotter_log_dd04ac64-a171-4a2c-9e41-43b6dc5ef7f7.txt
Found plotting process PID 63859, but could not find logfile in its open files:
/home/chiachia/.chia/mainnet/plotter/plotter_log_dd04ac64-a171-4a2c-9e41-43b6dc5ef7f7.txt
/home/chiachia/.chia/mainnet/plotter/plotter_log_dd04ac64-a171-4a2c-9e41-43b6dc5ef7f7.txt
....
... A LOT OF these messages and ending with
....
Traceback (most recent call last):
  File "/home/chiachia/.local/bin/plotman", line 8, in <module>
    sys.exit(main())
  File "/home/chiachia/.local/lib/python3.8/site-packages/plotman/plotman.py", line 145, in main
    wait_reason = manager.maybe_start_new_plot(cfg.directories, cfg.scheduling, cfg.plotting)
  File "/home/chiachia/.local/lib/python3.8/site-packages/plotman/manager.py", line 163, in maybe_start_new_plot
    p = subprocess.Popen(plot_args,
  File "/usr/lib/python3.8/subprocess.py", line 854, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.8/subprocess.py", line 1702, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'chia'
ehcorn commented 2 years ago

I'm having this issue, I've got chia installed on Ubuntu server 20.04, my blockchain is fully synced, my plotman config is pointed to the correct mapped directories for tmp and tmp2, I'm using MADMAX plotter, and I've activated my chia directory. full error I get when I run plotman plot (or interactive) is


    sys.exit(main())                                                                                                              
  File "/home/aaron/chia-blockchain/venv/lib/python3.8/site-packages/plotman/plotman.py", line 247, in main                       
    with cfg.setup():                                                                                                             
  File "/usr/lib/python3.8/contextlib.py", line 113, in __enter__                                                                 
    return next(self.gen)                                                                                                         
  File "/home/aaron/chia-blockchain/venv/lib/python3.8/site-packages/plotman/configuration.py", line 463, in setup                
    plotman.plotters.madmax.check_configuration(                                                                                  
  File "/home/aaron/chia-blockchain/venv/lib/python3.8/site-packages/plotman/plotters/madmax.py", line 30, in check_configuration 
    completed_process = subprocess.run(                                                                                           
  File "/usr/lib/python3.8/subprocess.py", line 493, in run                                                                       
    with Popen(*popenargs, **kwargs) as process:                                                                                  
  File "/usr/lib/python3.8/subprocess.py", line 858, in __init__                                                                  
    self._execute_child(args, executable, preexec_fn, close_fds,                                                                  
  File "/usr/lib/python3.8/subprocess.py", line 1704, in _execute_child                                                           
    raise child_exception_type(errno_num, err_msg, err_filename)                                                                  
FileNotFoundError: [Errno 2] No such file or directory: 'chia_plot'       ```
altendky commented 2 years ago

You are now able to specify the path to chia_plot via the executable: configuration. Note that the relevant line is commented out in the example.

https://github.com/ericaltendorf/plotman/blob/1b7dfba139ed03d3c32a2f04f6011e03bfb1f442/src/plotman/resources/plotman.yaml#L176-L178

altendky commented 2 years ago

I think the original issue has been resolved and there are now multiple ways to provide plotman access to the plotters. You can specify directly via executable: for each of them or you can set your PATH so they will be found. Note that activating the venv is a way to set the PATH.