Open fasiha opened 7 years ago
It would be possible for the PyCall build script to convert libpython etc. to a relative path if it is within the Pkg.dir()
directory, I think.
Note, I have had to work around this by removing the conda/deps.jl
file.
The Julia manual says
I interpreted “environment” here to mean things like GCC version, etc., but not, e.g., username.
If I install PyCall (tested on ancient CentOS 6.5, with Julia 0.5.1) for a user named
fasih
and then copy the resulting~/.julia/v0.5
package to another computer where my username isfasiha
(an extraa
at the end), PyCall doesn’t work because the old username has been hardcoded:Note the error messages references
fasih
(the original username).Ideally, PyCall and relatives can be copied from a networked computer to a computer without network access, as promised by the manual, without having to synchronize usernames.
If I try a brute-force search-and-replace, viz., in ~/.julia/v0.5/PyCall, running
$ find -type f -print0 | xargs -0 sed -i 's/fasih/fasiha/g'
, on one systemusing PyCall
segfaulted, though on my test virtual machine, this seems to work.So, as far as the goal of installing PyCall (and PyPlot) on a non-networked computer, is a search-and-replace the recommended way to work around this problem, or is it possible for PyCall to avoid hardcoding paths?
Thank you!